【发布时间】:2018-03-01 07:31:38
【问题描述】:
我阅读并理解了以下问题中的条目:INSERT statement conflicted with the FOREIGN KEY constraint 。我明白这一点,但是,我在这种情况下,我需要将大约 1 Gb 的记录插入到表中,其中一些记录的外键冲突。查询如下所示:
IF NOT EXISTS (SELECT * FROM [dbo].[tbl_R_TaskHistory] WHERE [TaskID] =
10000529)
BEGIN insert into [dbo].[tbl_History]
([TaskID],[UserID],[ActD],[RequestD],[No],[SignID],[Completed])
values (10000529,'A0000187',NULL,5738366,0,NULL,CAST(N'2011-03-16
04:53:37.210' AS DateTime)) END
RequestID 上发生冲突,所以我认为必须有一种方法来进行检查以避免错误消息。 我的意思是,我希望我的查询检查 RequestID 是否没有 FOREIGN KEY 约束,它不会插入此记录并移至下一个记录。
【问题讨论】:
-
尝试使用
TRY...CATCH语句-docs.microsoft.com/en-us/sql/t-sql/language-elements/…。也许它适合你。 -
您是如何生成该语句的?
标签: sql sql-server tsql foreign-keys sql-insert