<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      XuGang

      記錄一個(gè)程序員的成長

       

      SQL Server 中 RAISERROR 的用法


      raiserror  是由單詞 raise error 組成
           raise  增加; 提高; 提升


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

       

      其語法如下:

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

       

      簡要說明一下:

        

      第一個(gè)參數(shù):{ msg_id | msg_str | @local_variable }
            msg_id:表示可以是一個(gè)sys.messages表中定義的消息代號(hào);
                    使用 sp_addmessage 存儲(chǔ)在 sys.messages 目錄視圖中的用戶定義錯(cuò)誤消息號(hào)。
                    用戶定義錯(cuò)誤消息的錯(cuò)誤號(hào)應(yīng)當(dāng)大于 50000。

           msg_str:表示也可以是一個(gè)用戶定義消息,該錯(cuò)誤消息最長可以有 2047 個(gè)字符;
                   (如果是常量,請使用N'xxxx',因?yàn)槭莕varchar的)
                    當(dāng)指定 msg_str 時(shí),RAISERROR 將引發(fā)一個(gè)錯(cuò)誤號(hào)為 5000 的錯(cuò)誤消息。

           @local_variable:表示也可以是按照 msg_str 方式的格式化字符串變量。
                 
      第二個(gè)參數(shù):severity
                  用戶定義的與該消息關(guān)聯(lián)的嚴(yán)重級(jí)別。(這個(gè)很重要)
                  任何用戶都可以指定 0 到 18 之間的嚴(yán)重級(jí)別。
                  [0,10]的閉區(qū)間內(nèi),不會(huì)跳到catch;
                  如果是[11,19],則跳到catch;
                  如果[20,無窮),則直接終止數(shù)據(jù)庫連接;

      第三個(gè)參數(shù):state
                  如果在多個(gè)位置引發(fā)相同的用戶定義錯(cuò)誤,
                  則針對每個(gè)位置使用唯一的狀態(tài)號(hào)有助于找到引發(fā)錯(cuò)誤的代碼段。
                
                  介于 1 至 127 之間的任意整數(shù)。(state 默認(rèn)值為1)
                  當(dāng)state 值為 0 或大于 127 時(shí)會(huì)生成錯(cuò)誤!

      第四個(gè)參數(shù):argument
                  用于代替 msg_str 或?qū)?yīng)于 msg_id 的消息中的定義的變量的參數(shù)。

      第五個(gè)參數(shù):option
                  錯(cuò)誤的自定義選項(xiàng),可以是下表中的任一值:
                  LOG :在錯(cuò)誤日志和應(yīng)用程序日志中記錄錯(cuò)誤;
                  NOWAIT:將消息立即發(fā)送給客戶端;
                  SETERROR:將 @@ERROR 值和 ERROR_NUMBER 值設(shè)置為 msg_id 或 50000;
       
       
      [SQL]代碼示例

      --示例1
      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
      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
      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 塊返回錯(cuò)誤消息
      以下代碼示例顯示如何在 TRY 塊中使用 RAISERROR 使執(zhí)行跳至關(guān)聯(lián)的 CATCH 塊中。
      它還顯示如何使用 RAISERROR 返回有關(guān)調(diào)用 CATCH 塊的錯(cuò)誤的信息。

      BEGIN TRY
          
      RAISERROR ('Error raised in TRY block.'-- Message text.
                      16-- Severity.
                      1 -- State.
                     );
      END TRY
      BEGIN 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 中創(chuàng)建即席消息
      以下示例顯示如何引發(fā) sys.messages 目錄視圖中存儲(chǔ)的消息。
      該消息通過 sp_addmessage 系統(tǒng)存儲(chǔ)過程,以消息號(hào)50005添加到 sys.messages 目錄視圖中。

      sp_addmessage @msgnum = 50005,
                     
      @severity = 10,
                     
      @msgtext = N'<<%7.3s>>';
      GO

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

      sp_dropmessage 
      @msgnum = 50005;
      GO


      --示例7
      --C. 使用局部變量提供消息文本
      以下代碼示例顯示如何使用局部變量為 RAISERROR 語句提供消息文本。
      sp_addmessage @msgnum = 50005,
                    
      @severity = 10,
                    
      @msgtext = N'<<%7.3s>>';
      GO

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

      sp_dropmessage 
      @msgnum = 50005;
      GO



      參考來源:

      http://msdn.microsoft.com/zh-cn/library/ms178592.aspx

      ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.zh-CHS/tsqlref9/html/483588bd-021b-4eae-b4ee-216268003e79.htm 


      posted on 2011-04-09 11:14  鋼鋼  閱讀(126031)  評(píng)論(9)    收藏  舉報(bào)

      導(dǎo)航

      主站蜘蛛池模板: 伊人成人在线视频免费| 91久久久久无码精品露脸 | 国产精品中文字幕自拍| 色哟哟www网站入口成人学校| 欧美性xxxxx极品| 成人性无码专区免费视频| 欧美怡春院一区二区三区| 日本高清无卡码一区二区久久| 午夜成人理论无码电影在线播放| 无码国内精品久久人妻蜜桃| 自拍视频在线观看成人| 欧美 亚洲 另类 丝袜 自拍 动漫| 99久久亚洲综合精品成人| 国产精品人成视频免| 亚洲精品码中文在线观看| 国产另类ts人妖一区二区| 欧美色综合天天久久综合精品| 人妻中文字幕不卡精品| 97久久综合亚洲色hezyo| 亚洲国产长腿丝袜av天堂| 国产真实乱对白精彩久久| 国内熟妇人妻色在线视频| 梅州市| gogogo高清在线播放免费| 国产精品丝袜亚洲熟女| 亚洲av午夜成人片| 久久久久久久久久久免费精品| 国产一区二区日韩经典| 无码里番纯肉h在线网站| 亚洲av综合色一区二区| 国产成人亚洲欧美二区综合 | 国产精品亚洲av三区色| 久久天天躁狠狠躁夜夜婷| 亚洲香蕉伊综合在人在线| 欧美一级黄色影院| 欧美福利电影A在线播放| 亚洲av伊人久久综合性色 | 成av人电影在线观看| 久久国产成人高清精品亚洲| 国产中文字幕精品视频| 国产乱xxxxx97国语对白|