Fala muttley,
Boa tarde,
Segue o SET TERM:
Caracter terminador de comandos
----------------------------------------
O comando CREATE PROCEDURE é um comando como qualquer outro, e portanto termina com o caracter ‘;’.
No entanto, o comando CREATE PROCEDURE contém outros comandos internamente, que usam o mesmo terminador. Assim, se este comando estiver sendo utilizado pelo para definir (e não executar imediatamente) uma Stored Procedure, então um script file deve modificar o caracter
utilizado para terminar um comando, e restaurálo depois de encerrada a definição da Stored Procedure.
Isso é feito pelo comando SET TERM, como no exemplo a seguir.
O primeiro SET TERM define ## como o caracter de finalização de comandos, para o interpretador isql . O segundo SET TERM restaura o “;” como o caracter de finalização .
Selecionar tudo
SET TERM ## ;
CREATE PROCEDURE proc (var1 SMALLINT, var2 CHAR(5)) AS
BEGIN
. . .
END
RETURN;
END ## /* o ## encerra a definição do Create procedure */
SET TERM ; ##
Variáveis
Existem três tipos de variáveis que podem ser utilizadas no corpo de uma procedure:
• Parâmetros de entrada - utilizadas para passar variáveis da aplicação para a procedure. Estas variáveis não podem ser utilizadas em triggers.
• Variáveis de entrada são passadas por valor; Parâmetros de saída - utilizadas para passar variáveis da procedure para a aplicação;
• Variáveis locais - utilizadas para armazenar valores internamente à procedure. São visíveis apenas dentro do corpo da procedure, e devem ser sempre inicializadas cada vez que a procedure for chamada, antes de poderem ser usadas. Todas as variáveis locais devem ser
definidas no início do corpo do procedimento, pelo comando
Note-se que cada variável local requer uma comando DECLARE VARIABLE, finalizado por
ponto-e-vírgula " ; ".
As variáveis são utilizadas da mesma maneira onde uma expressão puder ser utilizada. Quando as variáveis forem utilizadas em comandos SQL, elas devem ser precedidas por dois-pontos " : ",
para indicar que são variáveis e não nomes de atributos. Nos demais comandos (como while e if) não devem ser utilizado o caracter dois-pontos.
Quanto as variáveis de saída de uma select procedure , os nomes das colunas do comando SELECT devem coincidir em tipo e em nome com os que aparecem na definição da procedure.
As variáveis de saída de uma executable procedure apenas o tipo de dados devem ser coincidentes!!
Abs Hahu
-m