SQL Server2012中的Throw語句

2021-06-16 21:36:38 字數 1499 閱讀 5434

介sql server2012實現了

類似c#丟擲異常的

throw

語句。相比較於

sqlserver2005

之前使用

@@error,

和sqlserver2005

之後使用

raiserror()引發

異常都是乙個不小的

進步,下面來看一下

throw

的用法。

raiserror

和throw

比較在sql server2005/2008

中,使用

raiserror

和try…catch

語句來丟擲異常相比較根據

@@error

進行判斷來講已

經進步了很多。

但是使用

raiserror

有乙個非常不好的一點是無法返回真正出

錯的行數。如圖1

所示。 圖

1.使用

raiserror

返回錯誤

行數不正確

而如果我

們需要具體的

錯誤資訊,可能還需要

這麼寫,如圖2

所示。 圖

2.錯誤

資訊寫法比較麻

而使用sql server2012

新增的throw語句,

則變得簡單很多。並且能正確返回出

錯的行,對於比

較長的t-sql語句來

說,這節省了不少

時間,如圖3

所示。 圖

3.throw

正確返回出

錯行和出錯資訊

們也可以

為throw

語句指定引數來返回自定

義錯誤資訊,但不能再

標識出正確的

錯誤行,如圖4

所示。

4.為throw

語句指定引數

結因此使用

throw

語句可以

帶來如下好處

1.更簡潔優雅的**

2.可以正確的

標識出出

錯的行數,

對於大量

t-sql來說

,這點可以節

省不少時間

解除安裝sql server 2012

好不容易裝上了sql server2012資料庫,可是卻不能連線本地的資料庫,後來發現缺少一些服務,於是決定重新安裝,但是解除安裝卻很麻煩,如果解除安裝不乾淨的話,重新安裝會出問題,所以下面就總結一些方法 在解除安裝sql server 2012後,大家都希望能夠將登錄檔資訊完全刪乾淨,下面就將教您...

SQLServer2012中LEAD函式簡單分析

lead函式簡單點說,就是把下一行的某列資料提取到當前行來顯示,看示例更能解釋清楚,先看測試用指令碼 declare testdata table id int identity 1,1 department varchar 20 lastname varchar 20 rate float ins...

SQL Server 2012中的新函式

新分頁方法 效率較高 select from sys.columns order by object id offset 5 rows fetch next 3 rows only 可建立類似oracle 的sequence 序列便於多表共用乙個序列 create sequence sid as i...