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