【发布时间】:2017-07-19 13:23:35
【问题描述】:
在我的原始表中插入一行后,我想用我的触发器在我的新表中插入一个新行,但我希望根据行详细信息/列值向此 ID 添加一个名称。
我正在使用 case/then/when 命令:
USE [DB1]
GO
/****** Object: Trigger [dbo].[Trigger1] Script Date: 19/07/2017 15:16:31 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[Trigger1]
ON [SourceTable]
AFTER INSERT
AS
insert into [dbo].[DestinationTable] ([ID],[NAME]) (select id, name = CASE
WHEN XXXX THEN '*****'
WHEN XXXX THEN '*****'
WHEN XXXX THEN '*****'
WHEN XXXX THEN '*****'
WHEN XXXX THEN '*****'
WHEN XXXX THEN '*****'
END
FROM SourceTable WITH (NOLOCK) WHERE ID=@@identity)
失败了……
【问题讨论】:
-
您的意思是按日期选择前 1 行顺序放入 CTE 并在 cte 上运行案例选择?也许吧。
标签: sql sql-server tsql triggers