Buscar

Banco de Dados Relacional-186



Continue navegando


Prévia do material em texto

UNIDADE 3 | BANCO DE DADOS FUNÇÕES 
176
Agora que já conhecemos as similaridades e diferenças entre procedures 
e funções, vamos começar a desenvolver.
2 PROCEDURES
De acordo com Dionisio (2015), uma stored procedure é um bloco de instru-
ções PL/SQL, que executa uma ou mais tarefas específicas. Elas são bem similares 
com as procedures de outras linguagens de programação. Para que possamos 
criar uma procedure no PL/SQL precisamos entender o seu funcionamento e para 
isso precisamos entender a sua sintaxe básica.
QUADRO 13 – SINTAXE DE PROCEDURE
FONTE: Adaptado de Dionisio (2014)
CREATE [OR REPLACE] PROCEDURE nome_da_procedure
 [(nome _parâmetro [IN | OUT | IN OUT] tipo_dado_parâmetro [, ...])] {IS}
 Seção de declarações
 BEGIN
 Seção de execução
 EXCEPTION
 Seção de exceções
 END [nome_da_procedure];
Partes da sintaxe Qual a função
CREATE [OR REPLACE] 
PROCEDURE
Instrução que irá criar (CREATE) ou atualizar (REPLACE) um 
procedimento caso esta já exista com o mesmo nome.
nome_da_procedure Nome que será atribuído para o procedimento
nome_parâmetro Nome do parâmetro que está sendo passado para a procedure. 
Podem ser passados N parâmetros para uma procedure, apenas 
separá-los por vírgula. Um parâmetro pode ser de três tipos:
• Parâmetro de entrada (IN): quando é passado um valor para 
ser utilizado na procedure.
• Parâmetro de saída (OUT): quando é deixado um parâmetro 
para retornar um valor da procedure.
• Parâmetro de entrada e saída (IN OUT): quando é passado um 
valor para a procedure e esse pode ser alterado devolvido para o 
parâmetro;
tipo_dado_parâmetro É o tipo de retorno que será utilizado, sendo este SQL ou PL/
SQL. Podemos, neste caso, utilizar referências como o %TYPE ou 
%ROWTYPE se necessário, ou mesmo utilizar qualquer tipo de 
dados escalar ou composto.
IS Necessário na criação de funções armazenadas
Seção de declaração Esta sessão é igual as que são feitas após a palavra reservada 
DECLARE e antes do BEGIN em um bloco anônimo. Podemos 
criar variáveis, constantes, outros blocos PL/SQL nomeados 
como procedures, functions etc.
Seção de execução Contém o bloco PL/SQL que inicia com a cláusula BEGIN e 
finaliza com END [nome_da_procedure].
Seção de exceções: Serve para tratarmos as exceções geradas por uma procedure.
[] Lembrando que tudo que está entre colchetes [ ] é opcional