學習筆記(5)

來源:互聯網
上載者:User

1、 事務
   begin tran開始事務, commit tran提交事務, rollback tran復原事務, save tran儲存事務
   前面三個十分熟悉, 最後一個save tran要好好理解與研究
   其實save tran 儲存點的名稱, 就是一個書籤標誌, 像很多種操作在一個事務中的時候, 一個事務也分第一步第二步第三步..., 如果第一步沒錯, 第二步出錯, 需要復原, 這樣在第一步與第二步
   之間添加一個save tran FirstStep, 通過rollback tran FirstStep來復原到相應的位置。

   2、預存程序
   預存程序在聲明資料類型時有一件特殊的事情要注意, 聲明Cursor型別參數時,必須也同時使用Varying和Output選項。
   OoutPut:向外輸出值時可義output型別參數
   Return:預存程序其實都有傳回值,預設時預存程序完成後會返回一個0, 如果想返回一個值, 可以使用return <整數傳回值>
   如果你在中途想返回預存程序不讓他執行下面的, 可以直接用return.

   3、錯誤處理
   SQl裡面也可以使用try catch形式來對錯誤處理. 當然也可以使用@@error來進行檢測錯誤。

   4、手工建置錯誤
   Raiserror (<訊息>,錯誤層級,狀態)
   例如: Raiserror('Error, Please check the proc',1,1)
  
   5、錯誤層級:
   1-10: 純粹資訊性錯誤
   11-16:如果沒有錯誤處理則會終止執行並在用戶端產生一個錯誤,有錯誤處理塊, 那麼錯誤處理器會被調用
   17: 只有sql server使用這個層級,十分嚴重, 例如:tampdb滿了
   18-19: 這兩類錯誤是提醒系統管理員的注意
   20-25:致命錯誤,使用者串連都會有可以被存壞
   注意:後面二類錯誤, with log選項是必需的。

   6、添加自己的錯誤訊息
   添加錯誤訊息
   sp_addmessage [@msgnum=]<訊息id> [@severity=]<錯誤層級> [@msgtext=]<'訊息字串'>[,[@lang=]]<'語言'>][,[@with_log=]<true|false>][,[@replace=]'repalce']
   @replace: 如果正在編輯一個現有的訊息,而不是建立一個新的訊息,必須將這個參數設定為'repalce'
   刪除錯誤訊息
   sp_dropmessage

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.