我创建了一个Update
触发器,该触发器以JSON格式获取已删除的行,并将其作为列保存到另一个表中。
CREATE TRIGGER UpdateTrigger on [Table1]
FOR UPDATE
AS
DECLARE @json nvarchar(max) = (SELECT * FROM Deleted FOR JSON PATH)
INSERT INTO [Table2](Id, Record) VALUES (NEWID(), @json);
GO
我想更改逻辑,以便Table2
表中的每一行都有一个插入到Deleted
中。如何遍历Deleted
表并将每一行转换为JSON并将其保存到Table2
?
您可以尝试以下方法:
CREATE TRIGGER UpdateTrigger on [Table1]
FOR UPDATE
AS
INSERT INTO [Table2] (Id, Record)
SELECT
NEWID(),
Record = (SELECT Column1, Column2, Column3, Column4, Column5, Column6 FOR JSON PATH)
FROM Deleted
GO