Veja neste artigo a continuidade da série de artigos sobre stored procedures em PL/SQL, este texto apresenta detalhadamente a sintaxe para a criação das mesmas.
Artigos Banco de Dados Estrutura - Stored Procedures em PL/SQL
Uma stored procedure é um módulo PL/SQL criado com o objetivo de executar uma ou mais ações. No artigo anterior, foi apresentado um exemplo de procedure que realizava uma única ação: exibir a mensagem "Hello World!" no console (link abaixo).
2. O que é Stored Procedure?
As stored procedures PL/SQL podem ser executadas por programas criados em qualquer linguagem de programação, como Java, PHP ou Delphi. Normalmente estas linguagens se comunicam com o Oracle através de algum componente de software que seja capaz de:
Passar informações para a procedure (via parâmetros de entrada);
Chamar a sua execução; e
Receber os resultados computados (via parâmetros de saída).
3. Estrutura de uma Stored Procedure
A figura abaixo apresenta e estrutura de código básica para a criação de uma procedure PL/SQL. Veja que ela é similar a dos procedimentos (ou sub-rotinas) usados em outras linguagens de programação.
Figura 1. Sintaxe.
A definição da procedure é dividida em duas seções: cabeçalho e bloco de comandos.
No cabeçalho do programa, a primeira linha sempre deve conter o nome da procedure e este deve ser indicado entre as palavras reservadas CREATE OR REPLACE PROCEDURE e IS.
Opcionalmente, é possível especificar parâmetros para a sua procedure. Três tipos são aceitos: IN (entrada), OUT (saída) e IN OUT (entrada e saída). Os próximos artigos desta série abordarão exatamente esse assunto.
Ainda no cabeçalho, encontra-se a seção de declarações. Nesta seção, o programador deve indicar ao PL/SQL quais informações serão manipuladas pelo programa. É nela que especificamos todas as variáveis, constantes, tipos, objetos e cursores explícitos que serão usados no bloco de comandos.
As instruções utilizadas pelo procedimento devem ser colocadas entre as palavras reservadas BEGIN e END; (observe que existe ponto-e-vírgula " ; " após a palavra END). Esta seção forma o bloco de comandos da procedure. As instruções serão executadas pelo Oracle na ordem em que estiverem dispostas entre as palavras BEGIN e END.
Dentro do bloco principal, a palavra-chave EXCEPTION pode ser utilizada de maneira opcional, para que você crie um bloco interno de tratamento de exceções. Este assunto é um pouco mais complexo, mas prometemos abordá-lo em breve!