[firebase-br] LOG DO FIREBIRD
:.:.: Enio Marconcini :.:.: www.delfosistemas.com :.:.:
eniorm em gmail.com
Sex Set 1 14:46:25 -03 2006
tenta por um SQLMonitor (IBSQLMonitor da aba Interbase) configurado pra
registrar as operações em um arquivo texto.
abraço
On 9/1/06, justiceiro punisher <punisher-br em hotmail.com> wrote:
>
> fala ai amigo..... peguei isso outro dia na web
>
> A partir da versão 1.5 do Firebird é possível que uma mesma trigger seja
> usada para Insert, Update e Delete ao mesmo tempo.
>
> Foram criadas três novas variáveis que indicam o que disparou a trigger.
>
> Estas variáveis são:
> INSERTING - Quando estiver inserindo
> UPDATING - Quando estiver atualizando
> DELETING - Quando estiver deletando
> (meio óbvio, não é ?).
>
> Num exemplo prático:
>
> CREATE TRIGGER VENDAS_BIUD FOR VENDAS
> ACTIVE BEFORE INSERT OR UPDATE OR DELETE POSITION 0
> AS
> BEGIN
> IF (INSERTING) THEN
> UPDATE PRODUTOS
> SET ESTOQUE = ESTOQUE - NEW.QUANT
> WHERE COD_PRODUTO = NEW.COD_PRODUTO;
> ELSE
> IF (DELETING) THEN
> UPDATE PRODUTOS
> SET ESTOQUE = ESTOQUE + VENDAS.QUANT
> WHERE COD_PRODUTO = VENDAS.COD_PRODUTO;
> ELSE
> IF (UPDATING) THEN BEGIN
> UPDATE PRODUTOS
> SET ESTOQUE = ESTOQUE + OLD.QUANT
> WHERE COD_PRODUTO = OLD.COD_PRODUTO;
>
> UPDATE PRODUTOS
> SET ESTOQUE = ESTOQUE - NEW.QUANT
> WHERE COD_PRODUTO = NEW.COD_PRODUTO;
> END
> END
>
> Neste exemplo temos uma tabela com vendas de produtos. A cada alteração na
> tabela devemos atualizar o estoque. Portanto, ao inserir uma venda devemos
> subtrair a quantidade vendida do estoque, ao deletar uma venda devemos
> devolver (somar) a quantidade ao estoque e ao editar o registro devemos
> devolver ao estoque o produto e quantidade anteriores e subtrair do
> estoque
> a nova quantidade do novo produto.
>
> Uma só trigger resolve tudo. O que antes deveriam ser três triggers agora
> pode ser resumido em apenas uma.
>
> _________________________________________________________________
> Baixe agora o Windows Live Messenger!
> http://get.live.com/messenger/overview
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
--
ENIO RODRIGO MARCONCINI
.....www.delfosistemas.com.....
...msnm: eniorm em gmail.com...
............skype: eniorm.............
.....:.:.: Slack The Planet :.:.:....
Mais detalhes sobre a lista de discussão lista