【发布时间】:2010-12-04 15:00:03
【问题描述】:
是否可以手动在存储过程中引发错误以停止执行并跳转到BEGIN CATCH 块? C# 中 throw new Exception() 的一些模拟。
这是我的存储过程的主体:
BEGIN TRY
BEGIN TRAN
-- do something
IF @foobar IS NULL
-- here i want to raise an error to rollback transaction
-- do something next
COMMIT TRAN
END TRY
BEGIN CATCH
IF @@trancount > 0
ROLLBACK TRAN
END CATCH
我知道一种方法:SELECT 1/0 但这太糟糕了!!
【问题讨论】:
标签: sql sql-server tsql exception-handling try-catch