0

我是触发器的新手。我正在尝试使用 sql server 2014 编写触发器。这是我的代码

CREATE TRIGGER deleteTrigger
ON student
FOR DELETE
AS
DELETE FROM [stu-course] 
where [stu-course].sid in ( select deleted.sid  from deleted )
GO

我右键单击路径 myDataBase -> 可编程性 -> 数据库触发器中的数据库触发器,然后选择新建数据库触发器并在那里编写我的代码。但它不保存;当我再次单击数据库触发器时,没有我的触发器的迹象。我应该怎么办?

4

1 回答 1

0

在文件夹下找不到它的原因database triggers是它是 DML 触发器,而不是数据库触发器(这些只是 DDL 触发器)。

请注意CREATE TRIGGERMSDN 上的页面:

服务器范围的 DDL 触发器出现在 SQL Server Management Studio 对象资源管理器的 Triggers 文件夹中。此文件夹位于服务器对象文件夹下。数据库范围的 DDL 触发器出现在数据库触发器文件夹中。此文件夹位于相应数据库的 Programmability 文件夹下。

如果您已经执行了创建触发器脚本,并且没有收到任何错误(我觉得语法没问题),您应该在表的 triggers 文件夹下找到它student

但是,使用表和表之间on delete cascade外键约束可以更好地处理您尝试使用此触发器执行的操作。studentsstu-course

于 2015-06-14T14:49:35.007 回答