【发布时间】:2018-11-28 03:55:12
【问题描述】:
我对触发器很陌生。在这里需要帮助。
我有两张桌子,[dbo].[Demand_Request] 和 [dbo].[Modified_Demand_Request]。
CREATE TABLE [dbo].[Demand_Request]
(
[CASE_ID] [INT] NULL,
[TE_PART_NUMBER] [NVARCHAR](50) NULL,
[VALUE] [FLOAT] NULL,
[DEMAND_DATE] [DATETIME] NULL
)
CREATE TABLE [dbo].[Modified_Demand_Request]
(
[CASE_ID] [INT] NULL,
[TE_PART_NUMBER] [NVARCHAR](50) NULL,
[VALUE] [FLOAT] NULL,
[DEMAND_DATE] [DATETIME] NULL,
[Modified_On] [DATETIME] NULL
)
当数据插入[dbo].[Demand_Request] 时,我想将相同的数据与时间戳一起添加到表[dbo].[Modified_Demand_Request] 中。
下面是我的触发器,但它不起作用:
CREATE TRIGGER [dbo].[Modified_Demand_Request1]
ON [dbo].[Demand_Request]
AFTER UPDATE
AS
INSERT INTO [dbo].[Modified_Demand_Request] ([CASE_ID], [TE_PART_NUMBER],[VALUE], [DEMAND_DATE], [Modified_On])
SELECT
[CASE_ID], [TE_PART_NUMBER], [VALUE],
[DEMAND_DATE], GETDATE()
FROM
INSERTED
【问题讨论】:
-
您的触发器被定义为
after update,因此它不会在insert上触发。为此,您需要after insert, update
标签: sql-server triggers