我已经在sys.message
中创建了错误。问题是当我将它添加到我的存储过程时,它不会将消息传回给我。如果id不存在,存储过程将检查某个isacode中是否存在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
答案 0 :(得分:2)
您的严重程度会降低,请尝试将其设置得更高: raiserror(50030,16,1)
顺便说一下。为什么你在插入之前尝试提出错误?
答案 1 :(得分: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