我是 SQL Server 的新手。请帮我解决这个问题
RAISERROR('There is a problem in the code',16,1)
RETURN -1
这工作得很好。所以我把它放在一个像这样的通用程序中:
CREATE procedure [dbo].[Raise_Error]
(@ErrorMsg varchar(6000) ,
@ErrorSeverity integer = 16,
@ErrorState integer = 1)
AS
BEGIN
RAISERROR (@ErrorMsg, @ErrorSeverity, @ErrorState)
RETURN -1
END
现在当我从另一个程序调用这个程序时
CREATE PROCEDURE TEST_ORIG
AS
BEGIN
IF NOT EXISTS (SELECT * FROM table where FISCALYEAR='2016')
BEGIN
EXEC utils.dbo.[Raise_error]
@ErrorMsg = 'There are no valid records for processing'
RETURN -1
END
我收到一条错误消息
Msg 178, Level 15, State 1, Line 13
在此上下文中不能使用带有返回值的 RETURN 语句
任何人都可以对这里发生的事情有所了解,我该如何纠正它?我需要在这里返回-1。
提前致谢