可以将错误行插入sql server 2012中的另一个表中

时间:2016-07-20 16:05:43

标签: sql-server

我需要将数据从一个表tableA推送到tableB。现在我使用简单的插入脚本来执行此操作,如下所述 -

插入tableB (COL1,COL2) 选择col1,col2 来自tableA

现在tableb中的col1是主键。客户端希望在另一个错误表中插入错误行,以防出现任何错误。插入的过程不应该停止。例如,如果tableA的col1有2行具有相同的pk值,那么第一行应该插入tableb中,而第二行pk violation应该插入另一个具有相同结构的表中。现在我不明白如何在SQL服务器中实现这一点。整个插入是一个原子事务,这是事务的属性。

我们可以在catch块中管理这个吗。

1 个答案:

答案 0 :(得分:0)

你可以很容易地在SSIS中处理这个问题。成功的记录会进入您想要的表,不成功的记录可能会进入错误表。我的截图是非常基本的;但我正在加载一个平面文件,用于填充具有良好记录的临时表,并将错误记录加载到错误表中。

enter image description here