数据库触发器不会保存

时间:2015-06-04 17:32:23

标签: database triggers sql-server-2014 database-trigger

我对触发器不熟悉。我尝试使用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中的数据库触发器 - >可编程性 - >数据库触发器并选择新数据库触发器并在那里编写我的代码。但它并没有拯救;当我再次点击数据库触发器时,没有触发器的迹象。我该怎么办?

1 个答案:

答案 0 :(得分:0)

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

请注意MSDN上的CREATE TRIGGER页面:

  

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

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

但是,使用students表与stu-course之间的on delete cascade约束foreign key可以更好地处理您尝试使用此触发器执行的操作表