給你一個例子參考﹕
tabx,taby表的結構一樣CREATE TRIGGER TRIG_TabXY
ON TabX
AFTER INSERT
AS
IF (SELECT person_no FROM inserted)>0
BEGIN
INSERT INTO TabY(dept_no,person_no,sex,salary)
SELECT dept_no,person_no,sex,salary FROM inserted
PRINT 'TabX有記錄增加了,同時觸發TabY。'

END
GO

解决方案 »

  1.   

    表1
    compno,name,a,b,c,d
    表2
    compno,name,x,y,z
    如何实现
    1。在表1中增加一条记录,表2也增加一条记录。表2的compno,name要和表1的相同。
    在你的表2中x,y,z3列可以为空的情况下:
    create trigger tr1
    on 表1
    for insert 
    as
    insert into 表2(compno,name)
    select compno,name from inserted
    go
    2。在表1中删除一条记录,表2也删除compno和表1相同的记录。
    如果表1和表2设置了内外键:create trigger tr2
    on 表1
    instead of delete
    as
    delete from 表2
    where compno=(select compno from deleted)
    delete from 表1
    where compno=(select compno from deleted)
    go如果表1和表2没有设置内外键:create trigger tr2
    on 表1
    for delete
    as
    delete from 表2
    where compno=(select compno from deleted)
    go3。在表1中修改一条记录,表2也修改和表1compno相同记录的name。
    create trigger tr3
    on 表1
    for update
    as
    update 表2
    set name=(select name from inserted)
    where compno=(select compno from deleted)
    go
      

  2.   

    3。在表1中修改一条记录,表2也修改和表1compno相同记录的name。(如果只对name更改)
    create trigger tr3
    on 表1
    for update
    as
    if (update(name))
    begin
    update 表2
    set name=(select name from inserted)
    where compno=(select compno from deleted)
    end
    go