【发布时间】:2011-11-16 12:14:08
【问题描述】:
在 SQL Server 2008 中,有没有办法在插入行的同时省略那些导致外键约束失败的行?
例如我有一个类似这样的插入语句:
insert into tblFoo(id, name, parent_id, desc) values
(1, 'a', 1, null),
(2, 'c', 3, 'blah'),
....;
parent_id 是另一个表的 fk。然后如何让 sql server 跳过 fk 列无效的行?
更新我想让它自动工作,而不必先过滤掉那些违反 fk 约束的行。原因是插入语句是由程序生成的,因此事先不知道每个表上存在哪些外键。
【问题讨论】:
标签: sql sql-server foreign-keys bulkinsert batch-insert