SQL Server 2008 R2 管理工具调试:如何在异常处中断?

3
在 Visual Studio 2008 中,我可以使用 CTRL+D+E 来进行选择,使得调试器在抛出异常处断点,无论是否有 catch 块。
SQL Server 2008 R2 Management Studio 中是否有类似的选项,可以使存储过程在抛出错误时中断执行?
1个回答

0

在事务中使用try和catch。例如:

create proc procexmaple (@parameter int)
as
    begin try
        begin transaction
            select  * from Employees where LastName = @parameter --this is an error converting nvarchar to int
        commit transaction
    end try

    begin catch
        select  * from [Orders] where OrderID = @parameter -- the catch will work and this will run
        rollback
    end catch
go

如果您想构建自己的错误,您还可以查看如何使用raiserror:

https://www.sqlservertutorial.net/sql-server-stored-procedures/sql-server-raiserror/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接