可以使用SqlBulkCopy将信息插入到2个表的视图中吗?

时间:2011-05-02 07:33:24

标签: c# sql-server sqlbulkcopy

我正在使用SqlBulkCopy来处理大量插入到某些数据库中。这导致一个db的性能改进很大。

但是,另一个目标db表是组成2个表的视图。应用单表代码会导致“System.Data.SqlClient.SqlException:视图或函数'dbo.vwParameter'不可更新,因为修改会影响多个基表”。可以将视图展平到一个表中而不会引起很多复杂情况,但这是不可取的,因为它可以节省大量的磁盘空间。

所以在这种情况下可以使用SqlBulkCopy,我只是做错了什么?或者如果没有,那么什么可能是一个好的解决方法,保留了阅读的观点?

3 个答案:

答案 0 :(得分:3)

事实证明,SqlBulkCopy默认忽略了my而不是触发器。我所要做的就是将SqlBulkCopyOptions.FireTriggers传递给SqlBulkCopy构造函数。

答案 1 :(得分:0)

您是否查看了有关更新视图中数据的documentation?这里描述了两种可能的解决方案,第一种可能就是你想要的解决方案。

答案 2 :(得分:0)

您可以将视图与SqlBulkCopy一起使用 但我相信你的问题是你所拥有的观点是不可更新的 视图必须符合某些要求才能更新。
您可以在此处找到更多信息http://msdn.microsoft.com/en-us/library/ms187956.aspx
查找“可更新视图”部分。

我建议你直接填充这两个表中的每一个,如果可能的话,一次一个?