【发布时间】:2017-03-29 06:48:34
【问题描述】:
我尝试编写一个在插入后更新数据的触发器。
我正在使用 SQL Server 2016 导入导出数据工具将我的数据从 Excel 传输到数据库中。
导入后,我需要运行一些更新语句。
我可以保存触发器,但它不会更新任何数据。我的错在哪里?
触发器:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[TRG_InsertMappinng]
ON [dbo].[T_CCG_MBR2017_Across]
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
UPDATE [DB_CC_FC_Database_SQL].[dbo].[T_CCG_MBR2017_Across]
SET [Colum1] = 'Text1'
Where [Colum1] IS NULL
AND [Colum2] = 'Text2'
AND [Colum3] = 'Text3'
AND [Colum4] = 'Text4'
END
【问题讨论】:
-
执行此查询 UPDATE [DB_CC_FC_Database_SQL].[dbo].[T_CCG_MBR2017_Across] SET [Colum1] = 'Text1' where [Colum1] IS NULL AND [Colum2] = 'Text2' AND [Colum3] = 'Text3' AND [Colum4] = 'Text4' 在触发器外部使用时会做些什么?
-
是的,当我在没有触发器的情况下运行它时它可以工作!
-
选择变量中所有插入的值,然后更新 IT。这对您有什么作用
-
谢谢,但我认为这没有帮助。我只是使用了一个简单的插入语句,我的触发器工作得很好。它只是不适用于数据导入工具...
标签: sql sql-server triggers sql-server-2016