我正在使用 SQL Server 2005。我创建了一个大部分时间都可以工作的存储过程,但我发现了一个实例,它不能满足我的要求。
目前,代码做了这样的事情
if @@error <> 0
begin
select @message_error = "There was a database error adding product "+ @product + " to product line
end
哪里@message_error
是输出变量。
所以,我可以select @@error
得到一个数字,但我真正想要的只是 SQL 错误。
像嘿,我不能这样做,因为此列或其他内容上有 fk 约束。我在 msdn http://msdn.microsoft.com/en-us/library/ms178592(v=sql.90).aspx上找到了这篇文章
但它只会抛出自定义异常RAISERROR
,我不想创建自己的错误消息或异常,我只想知道为什么东西不起作用。我可以通过 Management Studio 执行存储过程并查看确切的 SQL 错误,但是尝试匹配来自站点的数据并以这种方式手动插入它是很乏味的。
如何将 SQL 错误文本放入输出变量?