【发布时间】:2013-06-04 03:45:03
【问题描述】:
在 2005+ 版本的 SQL Server 中处理错误的首选方法是什么? 那么 2005 年之前的版本呢?
我正在编写一些较旧的 T-SQL 代码,并且到处都可以找到这个表达式:
SELECT CustomerID FROM Customers WHERE CustomerNumber = @customer_number
SET @ERR = @@Error
IF @ERR <> 0
RETURN @ERR
假设 CustomerID 是一个 int。这似乎是一个不好的做法。你怎么知道你是否得到了一个 ID 或一个错误 # ?在我看来 RAISEERROR 是更好的路径。如果这看起来很基本,请原谅我 - 我已经有一段时间没有处理过旧的 procs 了。
【问题讨论】:
-
OP 需要阅读这个:stackoverflow.com/a/2881863/65223
-
在 2005+ 年你想看看 TRY/CATCH。见Erland's pages。
标签: sql sql-server tsql stored-procedures error-handling