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)
顺便说一句。为什么要在插入之前尝试提出错误?
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
我已经在 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)
顺便说一句。为什么要在插入之前尝试提出错误?
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