Stored Procedure e Triggers no Firebird
Veja nesta Quick como usar Stored Procedure e Triggers no Firebird.
Olá galera, nesta Quick Tips, irei mostrar como podemos trabalhar com Stored Procedure e Triggers no Firebird.
Mas o que seria uma Stored Procedure?
Uma Stored Procedure é um programa escrito numa linguagem própria para Procedures no Firebird, sendo armazenada como parte do banco de dados. Podem ser acessadas através de aplicações clientes (sistemas externos), ou até mesmo por outras Stored Procedures ou Triggers.
Mas o que seria uma Trigger?
Uma Trigger é praticamente a mesma coisa que uma Stored Procedure, porém a única diferença é a forma como ela é chamada. Estas são chamadas sem a intervenção direta de um usuário, mas sim quando ocorre uma alteração em uma linha de uma tabela.
Vamos agora para a prática.
CREATE PROCEDURE
Stored Procedures são criadas através do comando CREATE PROCEDURE veja a sintaxe:
CREATE PROCEDURE NomedaProcedure
<parâmetros de entrada>
RETURNS
<parâmetros de saída>
AS
<declaração de variáveis locais>
BEGIN
<comandos da procedures>
END
Parâmetros de Entrada:
Permitem que a aplicação cliente passe valores para serem utilizados dentro da Stored Procedure.
Parâmetros de Saída ou de retorno:
Permitem que a Stored Procedure retorne valores para a aplicação cliente
Veja agora um exemplo prático de Stored Procedure
CREATE PROCEDURE TOTALCLIENTE(
HEAD_DEPT CHAR(3)
)
RETURNS (
CLIENTECOUNT INTEGER
)
AS
BEGIN
begin
SELECT COUNT(*) FROM CLIENTE INTO :CLIENTECOUNT;
suspend;
END ^
Veja agora um exemplo prático de Trigger
CREATE TRIGGER CLIENTE_BI FOR CLIENTE
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.IDCLIENTE IS NULL) THEN
NEW.IDCLIENTE = GEN_ID(,1);
END
Variáveis Locais
Podemos declarar varáveis locais de qualquer tipo existente no Firebird numa Stored Procedure. Estas só existem quando a Stored Procedure esta em execução, veja a sintaxe:
DECLARE VARIABLE <Nome variável> <Tipo variável>
Veja agora um exemplo prático
DECLARE VARIABLE TotalCliente Integer;
DECLARE VARIABLE SaldoTotal NUMERIC(15,2);
Observe que existe o comando DECLARE VARIABLE tem que ser implementado toda vez que formos criar uma variável.
Veja agora um exemplo prático
CREATE PROCEDURE TOTALFUNCIONARIOS(
HEAD_DEPT CHAR(3)
)
RETURNS (
FUNCIONARIOCOUNT INTEGER
)
AS
BEGIN
begin
SELECT COUNT(*) FROM FUNCIONARIO INTO :FUNCIONARIOCOUNT;
suspend;
END ^
Fico por aqui ate à próxima Quick Tips.
Um abraço
Wesley Y
wesley@lithic.com.br
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo