Sha*_* H. 21 sql-server triggers sql-server-2005
我正在尝试创建一个基本数据库触发器,当删除database2.table2中的一行时,该触发器有条件地从database1.table1中删除行.我是触发器的新手,并希望学习实现这一目标的最佳方法.这就是我到目前为止所拥有的.建议?
CREATE TRIGGER sampleTrigger
ON database1.dbo.table1
FOR DELETE
AS
IF EXISTS (SELECT foo
FROM database2.dbo.table2
WHERE id = deleted.id
AND bar = 4)
-- If there is a row that exists in database2.dbo.table2
-- matching the id of the deleted row and bar=4, delete
-- it as well.
-- DELETE STATEMENT?
GO
Run Code Online (Sandbox Code Playgroud)
Mag*_*nus 59
CREATE TRIGGER sampleTrigger
ON database1.dbo.table1
FOR DELETE
AS
DELETE FROM database2.dbo.table2
WHERE bar = 4 AND ID IN(SELECT deleted.id FROM deleted)
GO
Run Code Online (Sandbox Code Playgroud)
小智 9
更好用:
DELETE tbl FROM tbl INNER JOIN deleted ON tbl.key=deleted.key
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
151227 次 |
| 最近记录: |