簡
介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...