1. Introdução

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:

  1. Passar informações para a procedure (via parâmetros de entrada);
  2. Chamar a sua execução; e
  3. 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.

Sintaxe

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!

Um abraço e até o próximo artigo