如何在存储过程中退出?
我有一个存储过程,我希望尽早摆脱(同时尝试调试它)。我试着调用 RETURN
和 RAISERROR
,但是 sp 一直在运行:
CREATE PROCEDURE dbo.Archive_Session @SessionGUID uniqueidentifier AS
print 'before raiserror'
raiserror('this is a raised error', 18, 1)
print 'before return'
return -1
print 'after return'
[snip]
我知道它一直在运行,因为我在后面遇到了一个错误。我没看到我的 指纹。如果注释掉大部分存储过程:
CREATE PROCEDURE dbo.Archive_Session @SessionGUID uniqueidentifier AS
print 'before raiserror'
raiserror('this is a raised error', 18, 1)
print 'before return'
return -1
print 'after return'
/*
[snip]
*/
然后我没有得到我的错误,我看到了结果:
before raiserror
Server: Msg 50000, Level 18, State 1, Procedure Archive_Session, Line 5
this is a raised error
before return
因此,问题是: 如何摆脱 SQLServer 中的存储过程?