我有2个数据库表 - 让我们称它们为表A和表B.当在A中插入新行时,必须在B中插入新行(模式不相同)。这是我对数据触发器的测试版本:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[UpdateTrigger]
ON [dbo].[TABLE_A]
AFTER UPDATE
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO [172.11.22.33].[My_DB].[dbo].[TABLE_B] (column1, column2, column3, column4, column5, column6, column7, column8, column9, column10, column11, column12, column13, column14)
VALUES(value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14)
END
GO
当我执行数据触发器时,它不会抛出任何错误,因此它的语法正确。但是,当我在TABLE_A中保存某些内容时,它会抛出一个System.Data.UpdateException并且不会让我保存任何内容,直到我从数据触发器中删除以INSERT和VALUES开头的行。 INSERT语句是正确的,因为当我执行它时不是在数据触发器中而是作为单独的查询,它完美地工作。可能是什么问题呢?