CREATE TRIGGER TR_客户表 ON 订单表   
AFTER DELETE   
AS   
BEGIN
DELETE FROM 订单表 WHERE exists (SELECT * FROM DELETED WHERE DELETED.客户编号 = 订单表.客户编号 )
END我删除客户表中的客户信息,那订单表中的该客户的订单信息也删除。
为什么我删除客户表中的信息,订单表中没有删除对应客户的信息呢,是不是哪里写错了?

解决方案 »

  1.   

    你写反了。
    你的触发器是挂在订单表后的,你要删除的是客户表中信息。
    应该是:
    DELETE FROM 客户表 where 客户表.客户编号  = DELETED.客户编号
      

  2.   

    CREATE TRIGGER TR_客户表 ON 订单表  
    --> 触发器应该是建在客户表上吧?CREATE TRIGGER TR_客户表 ON 客户表
    AFTER DELETE   
    AS   
    BEGIN
      DELETE FROM 订单表 
      WHERE 客户编号 in
      (SELECT 客户编号 FROM DELETED)
    END