【发布时间】:2011-12-09 20:32:28
【问题描述】:
我正在尝试创建一个将打印消息的删除触发器。触发器应检查order 值是否存在于order_details 表中。如果该值存在于第二个表中,我想返回该值。我已经修修补补了几天,但我无法让它工作。
我是 SQL Server 和查询创建的新手。
这是我总结的:
CREATE TRIGGER tr_delete_check
ON orders
INSTEAD OF DELETE
AS
IF (SELECT order_id
FROM orders
WHERE order_details.order_id=orders.order_id
)
BEGIN
PRINT 'No Delete: Value exists in Order Details table'
ROLLBACK TRANSACTION
END
GO
【问题讨论】:
-
这种事情是用外键完成的,不是触发器。
标签: sql sql-server triggers sql-delete