使用IN插入/更新时触发错误

时间:2012-07-12 23:43:26

标签: sql-server-2008

我的触发器执行以下操作:

INSERT INTO CRM_CONTACTS_PRERENDER 
SELECT * FROM V_CRM_ADDRESS_00
WHERE CRMID = (SELECT CRMID FROM INSERTED)

现在,当插入/更新只包含1个CRMID时,我没有遇到任何问题。但是只要有2个或更多触发器就会抛出错误。非常感谢。

2 个答案:

答案 0 :(得分:0)

您的WHERE子句仅处理单个(或不)值。使用IN而不是=

WHERE CRMID IN (SELECT CRMID FROM INSERTED)

处理所有插入的行。

答案 1 :(得分:0)

因为Select返回结果集,所以你应该在条件语句中使用“in”。像:

WHERE CRMID in (SELECT CRMID FROM INSERTED)
相关问题