USE JXGL GO CREATE TRIGGER delete_sc_s ON S INSTEAD OF DELETE AS DECLARE @s_no char(8) SELECT @s_no=sno FROM deleted DELETE FROM SC WHERE sno=@s_no DELETE FROM S WHERE sno=@s_no GO USE JXGL GO 怎么使用这个触发器同时删除表S和表SC中级联的记录
时间: 2024-02-12 11:07:34 浏览: 81
18329015_郝裕玮_Lab41
要使用这个触发器同时删除表 S 和表 SC 中级联的记录,您需要在删除表 S 的同时,将涉及到的表 SC 中的记录也一并删除。因此,您需要在触发器中添加额外的 DELETE 语句以删除表 SC 中的相关记录。以下是修改后的触发器代码:
```
USE JXGL
GO
CREATE TRIGGER delete_sc_s ON S
INSTEAD OF DELETE
AS
DECLARE @s_no char(8)
SELECT @s_no=sno FROM deleted
DELETE FROM SC WHERE sno=@s_no
DELETE FROM S WHERE sno=@s_no
GO
USE JXGL
GO
DELETE FROM S WHERE sno='S13'
DELETE FROM SC WHERE sno='S13'
GO
```
在这个修改后的触发器中,当删除 S 表中的记录时,首先会删除 SC 表中与该记录相关的所有记录,然后再删除 S 表中的记录。最后,您可以在 DELETE 语句中使用 WHERE 子句来删除 SC 表中具有指定 sno 的记录。
阅读全文