SQL Server 中 RAISERROR 的用法詳細介紹_mssql2005

來源:腳本之家  責任編輯:小易  

是不是系統數據庫之一的model數據庫?model數據庫是模板數據庫。每次創建新數據庫時,SQL Server都會生成model的副本作為新數據的基礎。如果想讓每個新的數據庫開始就具有某些對象或者權限等,可以把它們放到model數據庫中,這樣新的數據庫會繼承它們www.anxorj.tw防采集請勿采集本網。

 SQL Server 中 RAISERROR 的用法

SQL SERVER 2014 電腦 方法/步驟 1、首先來準備兩個select查詢,分別查詢一個表。2、用Union將這兩個查詢連接在一起并且運行SQL語句,出現下圖的錯誤提示,因為Union連接的兩個查詢,列的數目必須一樣。3

raiserror 的作用: raiserror 是用于拋出一個錯誤。[ 以下資料來源于sql server 2005的幫助 ]

重新開始 WHILE,for循環都可以的。在 CONTINUE 關鍵字之后的任何語句都將被忽略。例如:以下匯總20以內能被2整除的整數。循環時,如果那個數不能被2整除,那么后面的不管語句多少,都不執行,直接進入下

其語法如下:

首先跟你解釋一下,SQL SERVER是一個關系數據庫管理系統。主要是對數據進行管理以及相關處理。目前通常說的應該大致就是微軟的SQL SERVER,包含有SQL 2000/SQL 2005/SQL2008等若干數據庫管理系統

我們可以先刪除了原來的主鍵再用類似下面SQL語句建立: alter table 你的表名 add constraint pk_name primary key(字段1,字段2) 或者在表設計器里面按住ctrl選中要設置主鍵的兩列再設置主鍵就OK了

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

就是一個在數據庫中存在的,現實的數據庫例子!數據庫實例就是后臺進程和數據庫文件的集合。一個SQL Server服務器就是一個實例,2000支持在同一個NT/2000 Server操作系統裝多個服務器,換言之,

簡要說明一下:

  第一個參數:{ msg_id | msg_str | @local_variable }

      msg_id:表示可以是一個sys.messages表中定義的消息代號;

              使用 sp_addmessage 存儲在 sys.messages 目錄視圖中的用戶定義錯誤消息號。

              用戶定義錯誤消息的錯誤號應當大于 50000。

     msg_str:表示也可以是一個用戶定義消息,該錯誤消息最長可以有 2047 個字符;

             (如果是常量,請使用N'xxxx',因為是nvarchar的)

              當指定 msg_str 時,RAISERROR 將引發一個錯誤號為 5000 的錯誤消息。

     @local_variable:表示也可以是按照 msg_str 方式的格式化字符串變量。           

第二個參數:severity

           用戶定義的與該消息關聯的嚴重級別。(這個很重要)

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

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

            如果是[11,19],則跳到catch;

            如果[20,無窮),則直接終止數據庫連接;

第三個參數:state

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

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

         

            介于 1 至 127 之間的任意整數。(state 默認值為1)

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

第四個參數:argument

            用于代替 msg_str 或對應于 msg_id 的消息中的定義的變量的參數。

第五個參數:option

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

            LOG :在錯誤日志和應用程序日志中記錄錯誤;

            NOWAIT:將消息立即發送給客戶端;

            SETERROR:將 @@ERROR 值和 ERROR_NUMBER 值設置為 msg_id 或 50000;

[SQL]代碼示例

--示例1

我們可以先刪除了原來的主鍵再用類似下面SQL語句建立: alter table 你的表名 add constraint pk_name primary key(字段1,字段2) 或者在表設計器里面按住ctrl選中要設置主鍵的兩列再設置主鍵就OK了

DECLARE @raiseErrorCode nvarchar(50)SET @raiseErrorCode = CONVERT(nvarchar(50), YOUR UNIQUEIDENTIFIER KEY)RAISERROR('%s INVALID ID. There is no record in table',16,1, @raiseErrorCode)

--示例2

我們可以先刪除了原來的主鍵再用類似下面SQL語句建立: alter table 你的表名 add constraint pk_name primary key(字段1,字段2) 或者在表設計器里面按住ctrl選中要設置主鍵的兩列再設置主鍵就OK了

RAISERROR ( N'This is message %s %d.', -- Message text, 10, -- Severity, 1, -- State, N'number', -- First argument. 5 -- Second argument. ); -- The message text returned is: This is message number 5.GO

--示例3

RAISERROR (N'<<%*.*s>>', -- Message text. 10, -- Severity, 1, -- State, 7, -- First argument used for width. 3, -- Second argument used for precision. N'abcde'); -- Third argument supplies the string.-- The message text returned is: << abc>>.GO

--示例4

我們可以先刪除了原來的主鍵再用類似下面SQL語句建立: alter table 你的表名 add constraint pk_name primary key(字段1,字段2) 或者在表設計器里面按住ctrl選中要設置主鍵的兩列再設置主鍵就OK了

RAISERROR (N'<<%7.3s>>', -- Message text. 10, -- Severity, 1, -- State, N'abcde'); -- First argument supplies the string.-- The message text returned is: << abc>>.GO

--示例5   

--A. 從 CATCH 塊返回錯誤消息

以下代碼示例顯示如何在 TRY 塊中使用 RAISERROR 使執行跳至關聯的 CATCH 塊中。

它還顯示如何使用 RAISERROR 返回有關調用 CATCH 塊的錯誤的信息。

BEGIN TRY RAISERROR ('Error raised in TRY block.', -- Message text. 16, -- Severity. 1 -- State. );END TRYBEGIN CATCH DECLARE @ErrorMessage NVARCHAR(4000); DECLARE @ErrorSeverity INT; DECLARE @ErrorState INT; SELECT @ErrorMessage = ERROR_MESSAGE(), @ErrorSeverity = ERROR_SEVERITY(), @ErrorState = ERROR_STATE(); RAISERROR (@ErrorMessage, -- Message text. @ErrorSeverity, -- Severity. @ErrorState -- State. );END CATCH;

--示例6

--B. 在 sys.messages 中創建即席消息

以下示例顯示如何引發 sys.messages 目錄視圖中存儲的消息。

該消息通過 sp_addmessage 系統存儲過程,以消息號50005添加到 sys.messages 目錄視圖中。

sp_addmessage @msgnum = 50005, @severity = 10, @msgtext = N'<<%7.3s>>';GORAISERROR (50005, -- Message id. 10, -- Severity, 1, -- State, N'abcde'); -- First argument supplies the string.-- The message text returned is: << abc>>.GOsp_dropmessage @msgnum = 50005;GO

--示例7

--C. 使用局部變量提供消息文本

以下代碼示例顯示如何使用局部變量為 RAISERROR 語句提供消息文本。

我們可以先刪除了原來的主鍵再用類似下面SQL語句建立: alter table 你的表名 add constraint pk_name primary key(字段1,字段2) 或者在表設計器里面按住ctrl選中要設置主鍵的兩列再設置主鍵就OK了

sp_addmessage @msgnum = 50005, @severity = 10, @msgtext = N'<<%7.3s>>';GORAISERROR (50005, -- Message id. 10, -- Severity, 1, -- State, N'abcde'); -- First argument supplies the string.-- The message text returned is: << abc>>.GOsp_dropmessage @msgnum = 50005;GO

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

重新開始 WHILE 循環。在 CONTINUE 關鍵字之后的任何語句都將被忽略[email protected] int,@b [email protected]=1,@b=[email protected]@b=b+1print('a='+convert(varchar(10),@a)+',b='+convert(varchar(10),@b))[email protected][email protected]>38breakelsecontinueprint('test')end在查詢里面執行上面的語句和把注釋去再運行對比就知道了 有continue時print('test')不會執行內容來自www.anxorj.tw請勿采集。


  • 本文相關:
  • sql server自定義異常raiserror使用示例
  • sql server 2012 安裝圖解教程(附sql2012下載地址)
  • sql server 2008完全卸載方法(其他版本類似)
  • mysql server has gone away 問題的解決方法
  • sql server數據庫入門學習總結
  • sql server 2008 阻止保存要求重新創建表的更改問題的設置方法
  • 在與 sql server 建立連接時出現與網絡相關的或特定于實例的錯誤。未找到或無法訪問服務器
  • microsoft sql server 2012 數據庫安裝圖解教程
  • sql server 2008圖文安裝教程
  • sql server 2008登錄錯誤:無法連接到(local)解決方法
  • sql2005注射輔助腳本[粗糙版]
  • sqlserver 2005 中字符函數的應用
  • 安裝sql2005提示 找不到任何sql2005組件的問題解決方案
  • win2008中sqlserver2008 無法打開錯誤日志文件導致無法啟動的解決
  • sql server 2005 默認端口修改方法
  • sqlserver 數據集合的交、并、差集運算
  • sql2005重新生成索引的的存儲過程 sp_rebuild_index
  • sqlserver 2005連接超時采用bat命令解決
  • sql2005express中導入access數據庫的兩種方法
  • sql server安裝出錯,安裝程序配置服務器失敗的解決方法小結
  • sql server中continue怎么用
  • 在sql server中model是?
  • SQL Server的作用是什么 干什么用的 為什么會用到?
  • SQL Server 2008 規則 如何建立???????
  • sql server 中union的用法
  • sql server中continue怎么用 ?
  • sql server有什么用
  • 如何在sql server中設置兩個主鍵
  • sQL server 什么是實例?
  • =:在sql server 中是什么意思?怎么用?
  • 網站首頁網頁制作腳本下載服務器操作系統網站運營平面設計媒體動畫電腦基礎硬件教程網絡安全mssqlmysqlmariadboracledb2mssql2008mssql2005sqlitepostgresqlmongodbredisaccess數據庫文摘數據庫其它首頁mssql2005sql server自定義異常raiserror使用示例sql server 2012 安裝圖解教程(附sql2012下載地址)sql server 2008完全卸載方法(其他版本類似)mysql server has gone away 問題的解決方法sql server數據庫入門學習總結sql server 2008 阻止保存要求重新創建表的更改問題的設置方法在與 sql server 建立連接時出現與網絡相關的或特定于實例的錯誤。未找到或無法訪問服務器microsoft sql server 2012 數據庫安裝圖解教程sql server 2008圖文安裝教程sql server 2008登錄錯誤:無法連接到(local)解決方法sql2005注射輔助腳本[粗糙版]sqlserver 2005 中字符函數的應用安裝sql2005提示 找不到任何sql2005組件的問題解決方案win2008中sqlserver2008 無法打開錯誤日志文件導致無法啟動的解決sql server 2005 默認端口修改方法sqlserver 數據集合的交、并、差集運算sqlserver 2005連接超時采用bat命令解決sql2005express中導入access數據庫的兩種方法sql server安裝出錯,安裝程序配置服務器失敗的解決方法小結sqlserver2005 安裝圖解教程以及超詳細的sql2005圖解安裝全過程sql server 數據庫清除日志的方法sql server 連接到服務器 錯誤23sql server安裝出錯,安裝程序配置sql server 2005“備份集中的數據sqlserver2005安裝提示服務無法啟sqlserver2005 沒有服務器名稱的win7 32/64位系統下安裝sql2005和sql server 2005安裝時asp.net版sysservers 中找不到服務器,請執行 sp_asql2005中char nchar varchar nvarchar數簡單實用sql腳本part sqlserver 2005 鏈接sql server2005實現數據庫讀寫分離介紹sqlserver 2008手工修改表結構,表不能保存mssql2005字符串連接方法 避免無效的連接sql2005clr函數擴展-解析天氣服務的實現sqlserver 2005 控制用戶權限訪問表圖文教sql2005學習筆記 apply 運算符sqlserver2005混合模式登錄配置(用戶登錄
    免責聲明 - 關于我們 - 聯系我們 - 廣告聯系 - 友情鏈接 - 幫助中心 - 頻道導航
    Copyright © 2017 www.anxorj.tw All Rights Reserved
    陕西快乐10分下载