触发器为什么没有运行?
我在一个存储过程中有以下语句
SET @SQL= 'UPDATE ConsignOutgo2 SET ConsignOutgo2OutgoInvoiceID= '+CAST(@IDTo AS NVARCHAR)
+ ' WHERE (ConsignOutgo2ID IN '+@OutgoInvoiceDetail + ') AND (ConsignOutgo2OutgoInvoiceID=-1) '
EXEC(@SQL)
在表 ConsignOutgo2 有 AFTER INSERT UPDATE DELETE 触发器
但有时存储过程正确运行后触发器没有运行,请指点。
[解决办法]
SET @SQL= 'UPDATE ConsignOutgo2 SET ConsignOutgo2OutgoInvoiceID= ' ' '+CAST(@IDTo AS NVARCHAR)
+ ' ' ' WHERE (ConsignOutgo2ID IN ' ' '+@OutgoInvoiceDetail + ' ' ') AND (ConsignOutgo2OutgoInvoiceID=-1) '
EXEC(@SQL)
[解决办法]
1.查下表中的,定代有行UPDATE。
另外,查下,表中是否有足件的
2.查下UPDATE器的代,保有。
[解决办法]
你入的是不是似 '1,2,3 ' 格式的,如果是的,可以不需要使用SQL句,可以改用CharIndex,也可以避免SQL句的嘛。
UPDATE ConsignOutgo2 SET ConsignOutgo2OutgoInvoiceID= @IDTo
WHERE (CharIndex( ', ' + Cast(ConsignOutgo2ID As Varchar) + ', ', ', ' + @OutgoInvoiceDetail + ', ') > 0 AND (ConsignOutgo2OutgoInvoiceID=-1