Trigger como criar

30/01/2008

Caros colegas, a muito tempo uso o Interbase/Firebird, mas precisei criar um projeto usando BD SQL Server. Pois bem, no firebird tenho algumas triggers que preciso migrar pro SQL Server, gostaria da ajudar de vc´s.

Essa trigger é responsavel por baixar o estoque em uma determinada tabela. Segue o código abaixo que uso no firebird.

SET TERM ^ ;
CREATE TRIGGER TG_ENTRADAITEM_ENTRADAPROD FOR TB_ESTOQUE_SUB
ACTIVE AFTER INSERT POSITION 0
AS
BEGIN
IF ((NEW.QTDE_ENT>0) And (NEW.STATUSPROD=´E´)) THEN
BEGIN
UPDATE TB_ESTOQUE_SALDO E
SET E.SALDO=E.SALDO+NEW.QTDE_ENT
WHERE
E.CODPRODUTO=NEW.CODPRODUTO AND
E.CODFILIAL=NEW.CODFILIAL;
END
IF ((NEW.QTDE_SAI>0) And (NEW.STATUSPROD=´E´)) THEN
BEGIN
UPDATE TB_ESTOQUE_SALDO E
SET E.SALDO=E.SALDO-NEW.QTDE_SAI
WHERE
E.CODPRODUTO=NEW.CODPRODUTO AND
E.CODFILIAL=NEW.CODFILIAL;
END
END ^
SET TERM ;^

Preciso converter esse código ai para o SQL Server.

Fico grato por qualquer ajuda.


Atenciosamente
Antonio Marcos Chaves
MSN: amnchaves@hotmail.com


Amchaves

Respostas

31/01/2008

Aroldo Zanela

Colega,

A forma de mEnor esforço para criação de triggers no SQL Server é pelo Enterprise Manager. Basta expandir o nó do banco de dados, posicionar-se sobre a tabela desejada, clicar com o botão direito, selecionar todas as tarefas, selecionar manage triggers que será gerado um template para digitação da mesma.

CREATE TRIGGER [TRIGGER NAME&93; ON &91;dbo&93;.&91;TABLE NAME&93; 
FOR INSERT, UPDATE, DELETE 
AS



Responder Citar