偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

說說SQL Server存儲過程中的異常處理

數(shù)據(jù)庫 SQL Server 數(shù)據(jù)庫運維
編程的異常處理很重要,當然Sql語句中存儲過程的異常處理也很重要,明確的異常提示能夠快速的找到問題的根源,節(jié)省很多時間。

編程的異常處理很重要,當然Sql語句中存儲過程的異常處理也很重要,明確的異常提示能夠快速的找到問題的根源,節(jié)省很多時間。

下面,我就以一個插入數(shù)據(jù)為例來說明Sql Server中的存儲過程怎么捕獲異常的 。

1、環(huán)境

  1. 數(shù)據(jù)庫為Sql Server2008。
  2. 表(Course)結(jié)構(gòu)為:
    • No char(10) primary key
    • Name varchar(20)
    • Comment varchar(50)

2、存儲過程

就以插入數(shù)據(jù)為例,其他的可以照著寫就行了。

編程語言都有異常的捕獲與處理, 在 SqlServer2008 中也是這樣子的。

對會出現(xiàn)異常的語句加上 begin try……end try ,然后進行異常捕捉:begin catch……end catch即可。

錯誤代碼詳解 很容易就能找到。

代碼如下:

  1. Create proc sp_Insert_Course 
  2.     @No char(10), 
  3.     @Name varchar(20), 
  4.     @Comment varchar(50), 
  5.     @rtn int output 
  6. as 
  7.     begin try 
  8.         insert into Course values(@No,@Name,@Comment) 
  9.         set @rtn=1 
  10.     end try 
  11.     begin catch 
  12.         set @rtn=@@ERROR 
  13.          
  14.         --輔助信息 
  15.         --select ERROR_LINE() as Line, 
  16.         --    ERROR_MESSAGE() as message1, 
  17.         --    ERROR_NUMBER() as number, 
  18.         --    ERROR_PROCEDURE() as proc1, 
  19.         --    ERROR_SEVERITY() as severity, 
  20.         --    ERROR_STATE() as state1 
  21.     end catch 

3、存儲過程執(zhí)行

相關(guān)代碼如下:

  1. declare 
  2.     @rtn int 
  3. exec sp_Insert_Course '114','語文','',@rtn output 
  4. print @rtn 

執(zhí)行結(jié)果:

正常的情況下,返回值為1,

如果已經(jīng)存在編號為“114”的數(shù)據(jù),就會返回 ERROR_CODE:2627,

其他的異常情況會返回相應(yīng)的代碼

4、說明

如果程序有異常,把異常代碼返回,然后再進行相關(guān)的處理即可。

SQL Server中的異常處理和別的數(shù)據(jù)庫(如Oracle)的有點差異,但是基本思想差不多, 在最后捕獲都可以得到異常。

希望能夠?qū)Υ蠹矣兴鶐椭?/p>

原文鏈接:http://www.cnblogs.com/sshoub/archive/2011/08/12/2136267.html

【編輯推薦】

  1. 如何在存儲過程中實現(xiàn)插入更新數(shù)據(jù)
  2. 聊聊樹狀結(jié)構(gòu)如何在數(shù)據(jù)庫中存儲
  3. 開啟SQL Server Denali之旅:字段存儲索引
  4. 談?wù)凧ava調(diào)用SQL Server分頁存儲過程
責任編輯:艾婧 來源: 博客園
相關(guān)推薦

2010-11-12 09:18:13

SQL Server存

2011-08-15 15:14:54

SQL Server存儲過程異常處理

2016-09-07 20:28:17

MySQL存儲數(shù)據(jù)庫

2010-11-10 15:36:44

SQL Server存

2011-08-15 17:28:19

SQL Server事務(wù)處理存儲過程

2010-07-15 12:38:14

SQL Server存

2011-03-24 13:38:47

SQL Server 存儲分頁

2009-07-23 14:10:38

Hibernate J

2011-04-11 17:28:50

oracle存儲select語句

2009-08-06 16:44:06

2017-10-23 12:55:46

項目設(shè)計師流程

2010-11-10 13:03:15

SQL Server存

2023-07-07 07:53:26

Python異常處理

2010-04-15 16:54:31

Oracle存儲過程

2010-05-31 16:57:09

2010-05-27 17:45:13

MySQL存儲過程

2011-04-08 09:53:45

Accesssql server存儲翻頁

2010-09-14 10:16:57

sql server

2010-11-12 09:46:55

Sql Server存

2010-09-14 10:36:23

sql server存
點贊
收藏

51CTO技術(shù)棧公眾號