SQL基礎(六) RaiseError的用法

2022-04-29 13:03:10 字數 1303 閱讀 6251

raiseerror 是由單詞raise和error組成;raise:上公升,增加;error:錯誤;

raiseerror:丟擲乙個錯誤,通常和try,catch配合使用。

**示例如下:

begin try

begin

if @returnpointresult<>'1000099'

begin

set @errorresult= n'update point of customer failed,errorcode:'+@returnpointresult;

raiserror(@errorresult, 11, 1);

endend

end try

begin catch

begin

declare @errormessage nvarchar(2000)

set @errormessage = error_message() + cast(@step as nvarchar(10));

raiserror(@errormessage,11,1)

endend catch;

第乙個引數:

描述錯誤資訊,字串格式。(也可用字元分割,獲取資訊)

第二個引數:

使用者定義與該訊息關聯的嚴重級別。(很重要)

任何使用者都可以指定0到18之間的嚴重級別。

[0,10]的閉區間內,不會跳到cathc;

[11,19]則跳到catch;

如果是[20,無窮),則直接終止資料庫連線;

第三個引數:

如果在多個位置引發相同的使用者定義錯誤,

則針對每個位置使用唯一的狀態號有助於找到引發錯誤的**段。

介於1至127之間的任意整數。(預設值是1)

當state值為0或大於127時會生成錯誤!

第四個引數(不常用):輸出變數引數。

第五個引數(不常用)

: 錯誤的自定義選項,可以是下列任何一值

log :在錯誤日誌和應用程式日誌中記錄錯誤;

nowait:將訊息立即傳送給客戶端;

seterror:將 @@error 值和 error_number 值設定為 msg_id 或 50000;

SQL資料庫基礎(六)

子查詢,又叫做巢狀查詢。將乙個查詢語句做為乙個結果集供其他sql語句使用,就像使用普通的表一樣,被當作結果集的查詢語句被稱為子查詢。子查詢有兩種型別 一種是只返回乙個單值的子查詢,這時它可以用在乙個單值可以使用的地方,這時子查詢可以看作是乙個擁有返回值的函式 另外一種是返回一列值的子查詢,這時子查詢...

SQL基礎教程學習第六站 資料更新

僅用於記錄學習,歡迎批評指正,共同交流,共同進步,大神勿噴 sql基礎教程學習第二站 資料庫基本知識 sql基礎教程學習第三站 建立表 sql基礎教程學習第四站 查詢基礎 sql基礎教程學習第五站 聚合和排序 sql基礎教程學習第六站 資料更新 sql基礎教程學習第七站 複雜查詢 sql基礎教程學習...

SQL基礎 基礎函式

數值類 函式名功能 備註round num,n 四捨五入 n為小數點後位數,可為負 trunc num,n 直接擷取 n為小數點後位數,可為負 mod a,b 取餘 字元類1 大小寫轉換 函式名功能 備註lower str 轉換成小寫 upper str 轉換為大寫 initcap str 首字母大...