自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SQL Server數(shù)據(jù)庫存儲(chǔ)過程的異常處理

數(shù)據(jù)庫 SQL Server
本文我們?cè)敿?xì)介紹了SQL Server數(shù)據(jù)庫存儲(chǔ)過程的異常處理過程,了解了異常處理的過程能夠幫助我們方便地找出問題的根源,希望能夠?qū)δ兴鶐椭?/div>

SQL Server數(shù)據(jù)庫存儲(chǔ)過程異常處理是非常重要的,明確的異常提示能夠幫助我們快速地找到問題的根源,節(jié)省很多時(shí)間。本文我們就以一個(gè)插入數(shù)據(jù)為例來說明SQL Server中的存儲(chǔ)過程怎么捕獲異常的,接下來就讓我們來一起了解一下這部分內(nèi)容吧。

1、環(huán)境

數(shù)據(jù)庫為SQL Server 2008,表的結(jié)構(gòu)為:

No char(10)  primary key

Name varchar(20)

Comment varchar(50)

2、存儲(chǔ)過程

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

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

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

錯(cuò)誤代碼詳解很容易就能找到。

代碼如下:

  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 

--輔助信息

  1. select ERROR_LINE() as Line,  
  2. ERROR_MESSAGE() as message1,  
  3. ERROR_NUMBER() as number,  
  4. ERROR_PROCEDURE() as proc1,  
  5. ERROR_SEVERITY() as severity,  
  6. ERROR_STATE() as state1  
  7. end catch 

 

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

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

 

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

 

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

正常的情況下,返回值為1,如果已經(jīng)存在編號(hào)為“114”的數(shù)據(jù),就會(huì)返回 ERROR_CODE:2627,其他的異常情況會(huì)返回相應(yīng)的代碼。

4、說明

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

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

關(guān)于SQL Server數(shù)據(jù)庫存儲(chǔ)過程的異常處理的知識(shí)就介紹到這里了,希望本次的介紹能夠?qū)δ兴鶐椭?/p>

【編輯推薦】

  1. SQL Server數(shù)據(jù)庫ROW_NUMBER()函數(shù)使用詳解
  2. 詳解xtrabackup對(duì)MySQL進(jìn)行備份和恢復(fù)的全過程
  3. SQL Server數(shù)據(jù)庫DATEDIFF的參數(shù)介紹及使用示例
  4. SQL Server將視圖或表的記錄不重復(fù)地插入到另一個(gè)表
  5. SQL Server中CROSS APPLY和OUTER APPLY的應(yīng)用詳解

 

責(zé)任編輯:趙鵬 來源: 博客園
相關(guān)推薦

2011-08-15 15:56:31

SQL Server

2011-02-25 17:47:44

數(shù)據(jù)庫存儲(chǔ)編寫

2010-06-17 11:08:07

SQL Server

2011-07-13 16:19:54

存儲(chǔ)過程SQL Server數(shù)

2010-07-15 12:38:14

SQL Server存

2010-09-14 10:47:45

sql server存

2011-09-01 14:00:11

SQL Server 存儲(chǔ)過程顯示表結(jié)構(gòu)

2011-05-17 15:30:27

Oracle數(shù)據(jù)庫ADO

2011-07-28 14:31:47

SQL Server數(shù)存儲(chǔ)過程

2011-03-24 13:38:47

SQL Server 存儲(chǔ)分頁

2010-09-06 11:05:05

SQL SERVER語句

2011-08-29 10:55:03

SQL Server分頁存儲(chǔ)過程優(yōu)化效率分

2011-07-19 15:18:46

存儲(chǔ)過程sql語句

2010-06-28 13:45:16

SQL Server

2009-08-06 16:44:06

2017-09-03 15:41:31

數(shù)據(jù)庫存儲(chǔ)分布式

2009-08-12 17:02:16

.NET向SQL Se

2010-11-10 13:03:15

SQL Server存

2010-11-29 09:34:39

Sybase數(shù)據(jù)庫存儲(chǔ)

2010-11-12 09:46:55

Sql Server存
點(diǎn)贊
收藏

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