想写个  删除的触发器删除一张主表(TableZhu)记录ID,    同时执行删除其他3个表(TablA,TableB,TableC)的对应的ID记录
这怎么写啊
   触发器是怎么使用啊,  写完了用不用每次删除的时候去调用?   

解决方案 »

  1.   

    create trigger tr_1
    on TableZhu
    for delete
    as
    delete tablea  from deleted where tablea.id=deleted.id
    delete tableb  from deleted where tableb.id=deleted.id
    delete tablec  from deleted where tablec.id=deleted.id
    end
      

  2.   


    --上面多了个end,纠正如下:
    create trigger tr_1
    on TableZhu
    for delete
    as
    delete tablea  from deleted where tablea.id=deleted.id
    delete tableb  from deleted where tableb.id=deleted.id
    delete tablec  from deleted where tablec.id=deleted.id 
      

  3.   

    创建失败
    它提示  缺少 before,after或instead of 关键字
      

  4.   

    create trigger tr_1
    on TableZhu
    for delete
    as
     begin tran
    delete tablea  from deleted where tablea.id=deleted.id
    delete tableb  from deleted where tableb.id=deleted.id
    delete tablec  from deleted where tablec.id=deleted.id
     if @@error=0
        commit
     else 
        rollback
     
      

  5.   


    --建立触发器:
    CREATE TRIGGER tri_tablezhu ON TableZhu FOR DELETE 
    AS 
        DELETE TablA from tablA a,deleted b WHERE a.ID = b.ID 
        DELETE TableB from TableB a,deleted b WHERE a.ID = b.ID 
        DELETE TableC from TableC a,deleted b WHERE a.ID = b.ID 
      

  6.   

    触发器不用调用,在你对tablezhu删除超作时自动执行
      

  7.   

    --TRY
    create trigger tr_1
    on TableZhu
    after delete
    as
     begin tran
    delete tablea  from deleted where tablea.id=deleted.id
    delete tableb  from deleted where tableb.id=deleted.id
    delete tablec  from deleted where tablec.id=deleted.id
     if @@error=0
        commit
     else 
        rollback
      

  8.   

    还是刚才的提示啊
      我的用的是oracle   要在PL/SQL里面写
      

  9.   

    明白了你是oracle,建議到oracle版問
      

  10.   

    我刚刚也去了oracle发了帖子
      帮忙解决下啊