我现在有三个表xsact,tsact,tzaik
//===================
CREATE TRIGGER Op_SACT ON [dbo].[XSACT] 
FOR INSERT, UPDATE, DELETE 
AS
begin
  if not exists (select 1 from deleted where akubu in ('K','J','T','L','I','Z')) --插入
    begin
      insert into tps_prices.dbo.tsact select PORDER,EDA,BUN,CODE,
       BUMO,VENDOR,AKUBU,JITU,JITU0,APRICE,IDATE,FDATE,BUYER
      from  inserted;
    end
if not  exists (select 1 from inserted) --删除                                                                                             
  begin
    delete  a from  tps_prices.dbo.tsact a,deleted b
    where   a.porder=b.porder and a.eda=b.eda  and a.bun=b.bun
 endend//============上述代码可以完成向tsact中插入数据的操作=====CREATE TRIGGER Op_SecSACT ON [dbo].[TSACT] 
FOR 
INSERT, UPDATE, DELETE 
AS
begin
  if  not exists (select 1 from deleted ) --插入
    begin
       update a 
        set a.price='0'
        from tzaik a,inserted b
       where a.code=b.code
    end
end  可是这段代码为什么没改变,还请各位大侠帮忙!谢谢

解决方案 »

  1.   

    sql语句看不出什么问题,具体看表之间的关系有没有问题.
      

  2.   


    CREATE TRIGGER Op_SecSACT ON [dbo].[TSACT] 
    FOR 
    INSERT, UPDATE, DELETE 
    AS 
    begin 
      if  not exists (select 1 from deleted ) 
      begin 
         update tzaik  
            set price='0' 
            from tzaik a,inserted b 
          where a.code=b.code 
      end 
    end 
    請檢查下你的判斷條件,如果不是刪除操作才執行???
      

  3.   

    我向xsact里插入数据->触发Op_SACT(在Tsact里插入数据)->能触发Op_SecSACT 让tzaik里的数据更新吗?
    顺便说一句,xsact是一个库,tsact,tzaik又是另外一个库(tps_prices)
      

  4.   

    for 换成after .
    我现在有三个表xsact,tsact,tzaik
    //===================
    CREATE TRIGGER Op_SACT ON [dbo].[XSACT]
    after INSERT, UPDATE, DELETE
    AS
    begin
      if not exists (select 1 from deleted where akubu in ('K','J','T','L','I','Z')) --插入
        begin
          insert into tps_prices.dbo.tsact select PORDER,EDA,BUN,CODE,
          BUMO,VENDOR,AKUBU,JITU,JITU0,APRICE,IDATE,FDATE,BUYER
          from  inserted;
        end
    if not  exists (select 1 from inserted) --删除                                                                                           
      begin
        delete  a from  tps_prices.dbo.tsact a,deleted b
        where  a.porder=b.porder and a.eda=b.eda  and a.bun=b.bun
    endend//============上述代码可以完成向tsact中插入数据的操作=====CREATE TRIGGER Op_SecSACT ON [dbo].[TSACT]
    after 
    INSERT, UPDATE, DELETE
    AS
    begin
      if  not exists (select 1 from deleted ) --插入
        begin
          update a
            set a.price='0'
            from tzaik a,inserted b
          where a.code=b.code
        end