MS SQL Server触发器在表中添加记录

时间:2014-08-27 12:33:35

标签: sql-server triggers

我是sql server和T-SQL的新手。我在同一个microsoft sql server上有两个数据库(dbA和dbB)。这两个数据库的表具有完全相同的字段,即dbA.dbo.fldA,dbA.dbo.fldB,dbA.dbo.fldC,dbB.dbo.fldA,dbB.dbo.fldB和dbB.dbo.fldC。只要在dbA中添加了一条符合条件的新记录(例如dbA.dbo.fldC<> 0),我就想有一个触发器,它会自动在dbB中添加这条记录。但不是相反,如果在dbB中添加记录,则不应自动将其复制到dbA。

这是我目前的触发器。但我不确定我应该如何激活它。

CREATE TRIGGER tradesToOps
   ON  dbInv.dbo.tblDatTradesToday
   AFTER  INSERT,DELETE,UPDATE
AS 
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

     DECLARE @INSERT INT, @DELETE INT

    SET @INSERT = (SELECT COUNT(*) FROM INSERTED)
   SET @DELETE = (SELECT COUNT(*) FROM DELETED)


    -- when Insert happens
    IF @INSERT = 1 AND @DELETE = 0
    BEGIN

        INSERT INTO dbOps.dbo.tblDatTrades
        SELECT * FROM INSERTED

    END

   -- Insert statements for trigger here

END

最好,

马努

1 个答案:

答案 0 :(得分:-2)

请创建如下所示的触发器

   CREATE TRIGGER TestTrigger1
    ON Person.Address
    AFTER INSERT
    AS

    INSERT INTO Test
        (col1)
    VALUES
        ('trigger fired');