Array
(
)

Trigger como criar

Amchaves
   - 30 jan 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


Aroldo Zanela
   - 31 jan 2008

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.

#Código


CREATE TRIGGER [TRIGGER NAME] ON [dbo].[TABLE NAME]
FOR INSERT, UPDATE, DELETE
AS