1

私は 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

エラーメッセージが表示される

メッセージ 178、レベル 15、状態 1、行 13
戻り値を持つ RETURN ステートメントは、このコンテキストでは使用できません

ここで何が起こっているのか、どうすれば修正できますか? ここで -1 を返す必要があります。

前もって感謝します

4

1 に答える 1