好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > sql server數據庫中raiserror函數用法的詳細介紹

sql server數據庫中raiserror函數用法的詳細介紹

熱門標簽:電銷機器人 深圳 在電子版地圖標注要收費嗎 武漢AI電銷機器人 股票配資電銷機器人 萬利達綜合醫院地圖標注點 外呼系統會封嗎 地圖標注如何弄全套標 實體店地圖標注怎么標 南京電銷外呼系統哪家好

sql server數據庫中raiserror函數的用法

server數據庫中raiserror的作用就和asp.NET中的throw new Exception一樣,用于拋出一個異常或錯誤。這個錯誤可以被程序捕捉到。

raiserror的常用格式如下:
raiserror('錯誤的描述',錯誤的嚴重級別代碼,錯誤的標識,錯誤的描述中的參數的值(這個可以是多個),一些其它參數),在官方上的格式描述如下:

RAISERROR ( { msg_id | msg_str | @local_variable } 
 { ,severity ,state } 
 [ ,argument [ ,...n ] ] ) 
 [ WITH option [ ,...n ] ] 

其中,[ ,argument [ ,...n ] ]與 [ WITH option [ ,...n ] 兩項是可以不寫的。

分別解釋一下各參數的用法:

一、{ msg_id | msg_str | @local_variable }

從這個參數中可以看出,這一項可能為三個值,
1,sys.messages中的自定義錯誤信息的錯誤信息號,自定義錯誤信息可以使用sp_addmessage存儲過程添加到sys.messages中,注意, 用戶定義錯誤消息的錯誤號應當大于 50000。
示例:raiserror(50001,16,1)
2,一條直接的錯誤描述,示例:raiserror('這里是錯誤描述的示例',16,1)
3,一個包含錯誤描述變量,示例:

declare @error_mes varchar(1000) 
set @error_mes='這里是錯誤描述的示例' 
raiserror(@error_mes,16,1) 

二、severity

這個參數為用戶定義的該錯誤信息的級別,我們可以指定 0 到 18 之間的嚴重級別。只有 sysadmin 固定服務器角色成員或具有 ALTER TRACE 權限的用戶才能指定 19 到 25 之間的嚴重級別。若要使用 19 到 25 之間的嚴重級別,必須選擇 WITH LOG 選項。

注意,如果錯誤級別在20~25之間,那么數據庫會認為這個錯誤是致命,那么數據庫會將該錯誤記錄到錯誤日志和應用程序日志后終止數據庫的連接。任何小于 0 的嚴重級別被認為等于0。大于 25 的嚴重級別被認為等于25。

三、state

這個參數是可以是1~127之間任意整數,可以用來標識錯誤的發生位置,如果一段代碼的多個位置都會發生同樣的錯誤,那么就可以將這個參數設置為不同的值,用來標識是那個位
置發生錯誤了。

四、[ ,argument [ ,...n ] ]

如果參數{ msg_id | msg_str | @local_variable }中包含了一些代替符,那么這個參數就是代替符的具體的值,這個和asp.Net中的string.Format用法是一樣的。示例如下:

declare @error_mes varchar(1000) 
set @error_mes='這里是用戶%s引發的錯誤描述' 
raiserror(@error_mes,16,1,'張三') 

也可以是這樣,可能適用性更廣些。

declare @error_mes varchar(1000) 
declare @error_obj varchar(1000) 
select @error_obj=name from table_users where…… 
set @error_mes='這里是用戶%s引發的錯誤描述' 
raiserror(@error_mes,16,1,@error_obj) 

上面代碼中的%s,代表它要替代是一個字符串,如果我們把示例寫成下面這樣就會報錯了:

declare @error_mes varchar(1000) 
set @error_mes='這里是用戶%s引發的錯誤描述' 
raiserror(@error_mes,16,1,1) 

因為1不是一個字符串,如果要替代是一個整數,就需要使用%i或者%d了。所有的對應關系如下:
1,%d或%i代表有符號整數
2,%u代表無符號整數
3,%o代表無符號八進制數
4,%s代表字符串
5,%x或%X代表 無符號十六進制數

五、[ WITH option [ ,...n ] ]

該參數為錯誤的自定義選項,可以是下面三個值中的一個:
1,LOG--在 Microsoft SQL Server 數據庫引擎 實例的錯誤日志和應用程序日志中記錄錯誤。記錄到錯誤日志的錯誤目前被限定為最多 440 字節。只有 sysadmin 固定服務器角色
成員或具有 ALTER TRACE 權限的用戶才能指定 WITH LOG。
2,NOWAIT--將消息立即發送給客戶端。
3,SETERROR--將 @@ERROR 值和 ERROR_NUMBER 值設置為 msg_id 或 50000,不用考慮嚴重級別。

我們還可以在Begin catch中使用raiserror。示例如下:

begin try 
 raiserror('這是一個錯誤',16,1) //注意,只有severity級別在11~19之間,控制才會跳轉到catch塊中。 
end try 
begin catch 
 declare @error_message varchar(1000) 
 set @error_message=error_message() 
 raiserror(@error_message,16,1) 
 return 
end catch 

到此這篇關于sql server數據庫中raiserror函數用法的詳細介紹的文章就介紹到這了,更多相關sql server中raiserror函數用法內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 圖書管理系統的sqlserver數據庫設計示例
  • SQL Server數據庫錯誤5123解決方案
  • SqlServer數據庫中文亂碼問題解決方法
  • SQL Server免費版的安裝以及使用SQL Server Management Studio(SSMS)連接數據庫的圖文方法
  • SQL Server 2000/2005/2008刪除或壓縮數據庫日志的方法
  • SQL Server數據庫中的表名稱、字段比較
  • SQLServer數據庫處于恢復掛起狀態的解決辦法
  • Servermanager啟動連接數據庫錯誤如何解決

標簽:汕頭 泰安 安徽 濟寧 廣東 武威 濟源 臺州

巨人網絡通訊聲明:本文標題《sql server數據庫中raiserror函數用法的詳細介紹》,本文關鍵詞  sql,server,數據庫,中,raiserror,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《sql server數據庫中raiserror函數用法的詳細介紹》相關的同類信息!
  • 本頁收集關于sql server數據庫中raiserror函數用法的詳細介紹的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 女非洲黑人bbw| 男人桶女人桶到爽免费观看动漫| 欧美dodk巨大HD动漫| 尻逼小说| 精品国产美女福到在线直播| 蜜臀91丨国产人妻人伦图片| 久久精品一区二区| 天天干天天草| 潘金莲在线电影完整版播放视频| 韩国三级HD中文字幕2019年 | 女人下边又肥又大又黑| 日韩在线观看一区二区三区| 嗯啊啊啊好爽| 在线黄视频| 日本免费专区| 国内大量揄拍人妻在线视频| 青青草91青娱盛宴国产| 男同桌把舌头伸进我下面| 俄罗斯xxxx性全过程| 国产AV精品变态虐杀美女奷尸| 国产美女精品视频国产AV | 成年人免费网站在线观看| 疯狂?自慰爽www噜噜噜| 第一章豪妇乳肉黄淑珍李强| 男人和女人在床做黄的网站| 周妍希国产福利在线观看| 日本特级黄AA,AA免费看| 91精品久久久久久久久久| 91精品国产美女福到在线不卡 | 俺也操| 欧美日韩大屁股自慰| 免费观看男女做爰视频| 公共yin娃调教| japanese超丰满人妖| 嗯啊不要疼| 精品欧美Av无码久久久KTV | 成人免费网站视频| 青青青国产精品一区二区 | 日本老妇人xxx另类| 欧美三级在线看| 91??丨PORNY丨在线屠呦|