Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Die Verwendung von RAISERROR funktioniert in SQL Server 2005 nicht?

Der Fehler tritt auf, weil Sie die Funktion direkt in Raiserror verwenden (Beachten Sie einzelnes e) Um dies zu vermeiden, versuchen Sie den folgenden Code. Versuchen Sie, dies funktioniert bei mir

BEGIN CATCH
    DECLARE @ErrorMessage NVARCHAR(4000);
    DECLARE @ErrorSeverity INT;
    DECLARE @ErrorState INT;

    SELECT 
        @ErrorMessage = ERROR_MESSAGE(),
        @ErrorSeverity = ERROR_SEVERITY(),
        @ErrorState = ERROR_STATE();

    RAISERROR (@ErrorMessage, -- Message text.
               @ErrorSeverity, -- Severity.
               @ErrorState -- State.
               );
END CATCH;