删除触发器以删除另一个数据库 sql 中另一个 table 中的行
delete trigger to delete row in another table in another database sql
我有一个名为 Fulcrum
的数据库架构,它有一个名为 Orders
的 table,PK 位于 OrderNO, OrderDate, TenantID
我有一个名为 XFer
的桥接数据库架构,其中我还有一个名为 Orders
的 table,具有相同的字段名称,但 OrderNO, OrderDate, TenantID
[=22] 上没有键=]
我需要在 Xfer
中的 Orders
后面创建一个触发器,当我删除 XFer.dbo.Orders
[=22= 中的行时,它会删除 Fulcrum.dbo.Orders
中的匹配行]
谢谢
考虑到您使用 Microsoft SQL Server
语法来创建这样的触发器是:
CREATE TRIGGER [XFer].[dbo].[OrderDeleted]
ON [Xfer].[dbo].[Orders]
AFTER DELETE
AS
BEGIN
DELETE FROM [Fulcrum].[dbo].[Orders] WHERE [Fulcrum].[dbo].[Orders].[OrderNO] IN (SELECT [XFer].[dbo].[Orders].[OrderNO] FROM DELETED)
END
显然语法可能并不完美,但这接近您的需要。
我有一个名为 Fulcrum
的数据库架构,它有一个名为 Orders
的 table,PK 位于 OrderNO, OrderDate, TenantID
我有一个名为 XFer
的桥接数据库架构,其中我还有一个名为 Orders
的 table,具有相同的字段名称,但 OrderNO, OrderDate, TenantID
[=22] 上没有键=]
我需要在 Xfer
中的 Orders
后面创建一个触发器,当我删除 XFer.dbo.Orders
[=22= 中的行时,它会删除 Fulcrum.dbo.Orders
中的匹配行]
谢谢
考虑到您使用 Microsoft SQL Server
语法来创建这样的触发器是:
CREATE TRIGGER [XFer].[dbo].[OrderDeleted]
ON [Xfer].[dbo].[Orders]
AFTER DELETE
AS
BEGIN
DELETE FROM [Fulcrum].[dbo].[Orders] WHERE [Fulcrum].[dbo].[Orders].[OrderNO] IN (SELECT [XFer].[dbo].[Orders].[OrderNO] FROM DELETED)
END
显然语法可能并不完美,但这接近您的需要。