我只是在SQL Server中的另一个表中调用一个值,但是我遇到了一些问题:
CREATE TRIGGER [dbo].[IdHeadOtomatis]
ON [dbo].[RollsNumberSimulation]
FOR INSERT, UPDATE
AS
BEGIN
UPDATE [RollsNumberSimulation]
SET IdHead = (SELECT IdHead
FROM NewCutPlan
WHERE [IdNewCutPlan] = IdNewCutPlan)
WHERE [IdRollNumber] IN (SELECT [IdRollNumber] FROM Inserted)
END
可插入此查询但插入" IdNewCutPlan"此屏幕截图中的错误。
请帮忙,
谢谢, 邦
答案 0 :(得分:0)
根据您的错误消息,问题是您正在尝试将单个值与多个值进行比较,特别是您的子查询返回多个值:
select IdHead from NewCutPlan where [IdNewCutPlan]=IdNewCutPlan
问题可能是你的谓词WHERE [IdNewCutPlan]=IdNewCutPlan
总是评估为真,你可能刚刚写了WHERE 1=1
。也许你的意思是其中一个是文字字符串'IdNewCutPlan'
,但没有更多信息你真正试图用你的触发器做什么很难猜测。