在SQL SERVER中是不能共用的,在A表的触发器中写上对表B的相同操作不就行了吗?

解决方案 »

  1.   

    在SQL SERVER中两个表是不能共用一个触发器的,但你可以换一种写法,就是在A表的触发器中写上与A表相同的针对于B表的操作。
      

  2.   

    我没说共用一个触发器,我的意思如下:我有A、B两个表,结构差不多。我需在A表中做三个新增、修改、删除触发器。实现当改变A表的数据时相应操作B表的数据。两个表都有相同的主键,以此来进行修改及删除操作。问题是我不知道如何写三个触发器
      

  3.   

    对一个表写三个触发器没有问题
    分别for insert for update for delete
      

  4.   

    create trigger trigger_Name 
    for insert 
    insert into b(.... ) from inserted
    ^_^
      

  5.   

    那FOR UPDATE及FOR DELETE是不时是也是 FROM UPDATED 及 FROM DELETED呢?
      

  6.   

    FOR UPDATE及FOR DELETE就要用到DELETED和INSERTED ,没有UPDATED表
      

  7.   

    你可以看一下帮助中关于INSERTED 和 DELETED 的相关部分
      

  8.   

    我想了一个办法,可以实现了。
    但在触发器中有一个语句在SQLSERVER中执行无误,但我的程序中却不能通过。语句如下:delete ori_primary from ori_primary,inserted   where ori_primary.inv_no=inserted.发票号
    当ori_primary有此记录时,触发器能通过,否则出错。怎么回事?(此情况只出现与程序运行时)在SQLSERVER中执行时不会报