我知道这可以使用外键完成,但是当我插入新记录时,我无法添加它们或发生奇怪的事情。这个数据库中有很多存储过程,我不知道它们做了什么,因为我对存储过程一无所知。我希望有人可以帮我找出一个触发器,当我从Product表中删除它时,它将删除特定的ProductID。它也位于名为CompanyLink,TargetLink和CategoryLink的表中。
截至目前,当我从Product表中删除ProductID时,我必须从插入的其他3个表中手动删除它。
答案 0 :(得分:8)
你可以通过这样的触发器来实现:
CREATE TRIGGER [dbo].[ProductDeleted]
ON [dbo].[Product]
AFTER DELETE
AS
BEGIN
DELETE FROM CompanyLink WHERE ProductID = (SELECT TOP 1 ProductID FROM DELETED)
DELETE FROM TargetLink WHERE ProductID = (SELECT TOP 1 ProductID FROM DELETED)
END
显然语法可能不完美,但这很接近你需要的。