SQL 服务器存储过程中出现错误

Raiserror in SQL Server stored procedure

我已经在 sys.message 中创建了错误。问题是当我将它添加到我的存储过程时,它不会将消息传回给我。存储过程检查某个区号中是否存在 id,如果 id 不存在,则应触发 raiserror。

AS
BEGIN 
    DECLARE @Result as int 

    IF EXISTS(SELECT ID, areacode
              FROM Table1 
              WHERE ID = @ID
                AND areacode = @areacode)
        RAISERROR (50030, 1, 1)

BEGIN  
   INSERT INTO Table2 ( //columns go here )
   VALUES ( //values for columns )
END

您的严重性太低,请尝试将其设置得更高一些: raiserror (50030,16,1)

顺便说一句。为什么要在插入之前尝试提出错误?

https://msdn.microsoft.com/en-us/library/ms178592.aspx

DECLARE @Result as int 

IF EXISTS(SELECT 1 
      FROM Table1 
      WHERE ID=@ID
      AND areacode=@areacode
      )
BEGIN  
    INSERT INTO Table2 (/* columns go here */)
    VALUES (/* values for columns */)
END ELSE BEGIN
    RAISERROR (50030,1,1)
END