SQL Server 的RAISERROR

有時候SELECT、UPDATE 出來的結果為沒有東西
但是語法都對喔~
這時可能需要回傳一個:「沒有改到資料」 的訊息
好讓使用者知道,這時可能需要這個RAISERROR

/*
--RAISERROR(錯誤代號或錯誤訊息,錯誤等級,狀態)-----------
--永遠會存在SQL Server中除非drop掉---------------------
EXEC sp_addmessage 50005,16,'這是自訂錯誤訊息'
EXEC sp_dropmessage 50005

--呼叫自訂的ERROE-------------------------------------
RAISERROR(50005,16,10)

--1~10為輕度
--10~16為中度
--17以上為嚴重,25最高

*/

RAISERROR('這是自訂錯誤',8,10)
RAISERROR('這是自訂錯誤',10,10)
RAISERROR('這是自訂錯誤',16,10)

--找不東西塞,但不是錯誤,所以自行RAISERROR--------------
--@@ROWCOUNT 欄位數量---------------------------------
UPDATE 巨巨 SET 價錢=500 WHERE 產品編號=500
IF @@ROWCOUNT=0 RAISERROR('沒有改到任何資料!!',16,10)
-----------------------------------------------------

留言

熱門文章