当我得到很多试图帮助我解决错误的答案时:我最感兴趣的是一种进行错误处理和检测表行创建错误的方法,而不是解决我只用来说明什么的实际问题在存储过程中编码。
我正在为表中缺少的条目在存储过程中执行 SQL 插入语句:
INSERT INTO dbo.t1
(col1, col2, col3, col4, col5)
SELECT DISTINCT col1, col2, col3, col4, col5
FROM dbo.t2
WHERE (NOT EXISTS
(SELECT col1, col2, col3, col4, col5
FROM t1 AS Table_1
WHERE (col1 = t2.col1) AND
(col2 = t2.col2) AND
(col3 = t2.col3) AND
(col4 = t2.col4) AND
(col5 = t2.col5))) AND
col2 = 'VALUE'
t1.col1 + t1.col2 和 t1.col3 + t1.col4 与另一个表 t3.col1 + t3.col2 具有外键关系
存储过程未能完成抛出外键关系已被违反的错误消息;即 t3 中缺少一些条目:
消息 547,级别 16,状态 0 [...] INSERT 语句与 FOREIGN-KEY [..] 冲突
我想知道的是 t2 的 TABLE ROW 导致错误,最好是该行中的值。我在 Google 上搜索了很多关于 SQL 错误处理的信息,但只找到了提供引发错误的编码行的示例——这对我来说是无用的信息......
任何帮助表示赞赏