【发布时间】:2018-05-27 23:29:07
【问题描述】:
完成新手尝试学习。
当“OrderDate”被更新/输入时,我想让“Sales”表填充“Finance”表,但是我无法插入多个列。
CREATE TRIGGER SalesOrderDateTrigger
ON [dbo].[Sales]
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @OrderDate Date
SELECT @OrderDate = INSERTED.OrderDate FROM INSERTED
IF @OrderDate > 0
BEGIN
INSERT INTO Finance
(Quote, Customer, Project_Name, [Value],
POC_Name_#1, POC_Number_#1, POC_Email_#1,
POC_Name_#2, POC_Number_#2, POC_Email_#2,
Comment, [DA Link])
SELECT (INSERTED.Quote, INSERTED.Customer, INSERTED.Project_Name,
INSERTED.[Value],
INSERTED.POC_Name_#1, INSERTED.POC_Number_#1, INSERTED.POC_Email_#1,
INSERTED.POC_Name_#2, INSERTED.POC_Number_#2, INSERTED.POC_Email_#2,
INSERTED.Comment, INSERTED.[DA Link])
FROM INSERTED
END
END
感谢您的阅读。
【问题讨论】:
-
哪个 dbms?????????????????这是提问时最重要的信息。
-
您不需要
SELECT中的 ()。应该是SELECT x, y, z,而不是SELECT (x, y, z) -
您可能想要
SELECT @OrderDate = min(OrderDate) FROM inserted;或将WHERE OrderDate > 0添加到INSERT本身。
标签: sql database trigger.io eventtrigger database-trigger