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