标签: sql-server sql-server-2008
我们在一个非常大的表上有一个列约束,以确保没有插入或更新的数据可以记录零或以下的库存水平。有时,我们的应用程序报告错误,因为这些约束被违反。
如果发生约束违规,有没有办法将数据行写入表或日志文件?
答案 0 :(得分:1)
最好的办法是在桌面上放置一个BEFORE INSERT,UPDATE触发器。
在触发器中,检查inserted表以查看是否有任何行违反约束,如果是,则将它们写入Log表而不是目标表。
inserted
然后将任何不违反约束的行写入目标表。