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

說(shuō)說(shuō)SQL Server存儲(chǔ)過(guò)程中的異常處理

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

編程的異常處理很重要,當(dāng)然Sql語(yǔ)句中存儲(chǔ)過(guò)程的異常處理也很重要,明確的異常提示能夠快速的找到問(wèn)題的根源,節(jié)省很多時(shí)間。

下面,我就以一個(gè)插入數(shù)據(jù)為例來(lái)說(shuō)明Sql Server中的存儲(chǔ)過(guò)程怎么捕獲異常的 。

1、環(huán)境

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

2、存儲(chǔ)過(guò)程

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

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

對(duì)會(huì)出現(xiàn)異常的語(yǔ)句加上 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 
  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、存儲(chǔ)過(guò)程執(zhí)行

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

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

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

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

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

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

4、說(shuō)明

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

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

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

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

【編輯推薦】

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

2010-11-12 09:18:13

SQL Server存

2011-08-15 15:14:54

SQL Server存儲(chǔ)過(guò)程異常處理

2016-09-07 20:28:17

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

2010-11-10 15:36:44

SQL Server存

2011-08-15 17:28:19

SQL Server事務(wù)處理存儲(chǔ)過(guò)程

2010-07-15 12:38:14

SQL Server存

2011-03-24 13:38:47

SQL Server 存儲(chǔ)分頁(yè)

2011-04-11 17:28:50

oracle存儲(chǔ)select語(yǔ)句

2009-08-06 16:44:06

2009-07-23 14:10:38

Hibernate J

2010-11-10 13:03:15

SQL Server存

2017-10-23 12:55:46

項(xiàng)目設(shè)計(jì)師流程

2011-04-08 09:53:45

Accesssql server存儲(chǔ)翻頁(yè)

2010-11-12 09:46:55

Sql Server存

2010-09-14 10:16:57

sql server

2023-07-07 07:53:26

Python異常處理

2010-04-15 16:54:31

Oracle存儲(chǔ)過(guò)程

2010-05-27 17:45:13

MySQL存儲(chǔ)過(guò)程

2010-05-31 16:57:09

2021-02-08 11:04:21

嵌套SQL Server語(yǔ)言
點(diǎn)贊
收藏

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