CREATE TRIGGER TR_客户表 ON 订单表
AFTER DELETE
AS
BEGIN
DELETE FROM 订单表 WHERE exists (SELECT * FROM DELETED WHERE DELETED.客户编号 = 订单表.客户编号 )
END我删除客户表中的客户信息,那订单表中的该客户的订单信息也删除。
为什么我删除客户表中的信息,订单表中没有删除对应客户的信息呢,是不是哪里写错了?
AFTER DELETE
AS
BEGIN
DELETE FROM 订单表 WHERE exists (SELECT * FROM DELETED WHERE DELETED.客户编号 = 订单表.客户编号 )
END我删除客户表中的客户信息,那订单表中的该客户的订单信息也删除。
为什么我删除客户表中的信息,订单表中没有删除对应客户的信息呢,是不是哪里写错了?
你的触发器是挂在订单表后的,你要删除的是客户表中信息。
应该是:
DELETE FROM 客户表 where 客户表.客户编号 = DELETED.客户编号
--> 触发器应该是建在客户表上吧?CREATE TRIGGER TR_客户表 ON 客户表
AFTER DELETE
AS
BEGIN
DELETE FROM 订单表
WHERE 客户编号 in
(SELECT 客户编号 FROM DELETED)
END