[firebase-br] RES: Condição em trigger

Rodrigo Madureira Barbosa rodrigo.madu em gmail.com
Ter Fev 26 10:46:13 -03 2008


Marca na trigger a exucução para as seguintes opções "Insert", "Delete",
"Update";

Dentro do código é só fazer um "IF", verificando uma palavra reservada que
te mostra o processo atual, exemplo:

IF (INSERTING) THEN BEGIN

  PARAMETRO 1

END

IF (UPDATING) THEN BEGIN

  PARAMETRO 2

END

IF (DELETING) THEN BEGIN

  PARAMETRO 3

END

Rodrigo Madureira Barbosa
Desenvolvedor - (28) 9915-5780
rodrigo.madu em gmail.com (email/msn)

"De tanto ver triunfar as nulidades, de tanto ver prosperar a desonra, de
tanto ver crescer a injustiça, de tanto ver agigantarem-se os poderes nas
mãos dos maus, o homem chega a desanimar-se da virtude, a rir-se da honra e
a ter vergonha de ser honesto." (Rui Barbosa)

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Sandro
Enviada em: terça-feira, 26 de fevereiro de 2008 10:09
Para: FireBase
Assunto: Re: [firebase-br] Condição em trigger

Triggers universais, insert , update e delete existem desde o Fb 1.5

----- Original Message ----- 
From: "Forrest®" <fernando em gramatura.com.br>
To: <lista em firebase.com.br>
Sent: Tuesday, February 26, 2008 9:12 AM
Subject: Re: [firebase-br] Condição em trigger


Luis Alberto wrote:

> Bom dia, pessoal!
>
> Não entendo muito de trigger, mas, tô dando minhas cabeçadas aqui.
>
> Quero criar uma trigger que executará uma procedure, tanto num insert
> quanto num update ou delete, sendo que, para cada uma das situações é
> passado um parâmetro diferente para a procedure. Não quero criar 3
> triggers.
>
> Como faço pra saber se é um insert, update ou delete?
>
> Parece absurdo, mas a net aki na empresa é barrada e não tenho como
> pesquisar isso...
---

Qual FB você está usando? Abaixo do 2.0 não tem como você fazer isso
mas apartir dele você pode verificar se a trigger está no  modo
inserting, updating ou deleting.

CREATE trigger nometrigger for tabela
active after insert or update or delete
AS
BEGIN
   IF (INSERTING) THEN
   BEGIN
      CHAMA_PROCEDURE
   END
   ELSE   IF (UPDATING) THEN
   BEGIN
      CHAMA_PROCEDURE
   END
   ELSE   IF (DELETING) THEN
   BEGIN
      CHAMA_PROCEDURE
   END
END

Acho que seria mais ou menos isso que você precisa.

T++++++++++++

-- 



______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista