在Sql中使用Try Catch

2021-09-06 21:40:49 字數 2081 閱讀 7268

原文:

在sql中使用try catch

今天在寫sql中出現了!我想在sql使用trycatch吧! 哎..但是語法又記不住了! 那就清楚我們的google大師吧! 嘿,網上關於在sql中使用try catch的還有真不少的文章! 閒話就少了! 今天記錄下來以便下次使時查閱!

建立錯誤日誌表:

create table errorlog(errnum int

,errsev nvarchar

(1000),errstate int

,errproc nvarchar

(1000),errline int

, errmsg nvarchar

(2000))

建立錯誤日誌記錄儲存過程:
create procedure errorlog

as select error_number()

as errnum,error_severity()

as errsev,error_state()

as errstate,error_procedure()

as errproc,error_line()

as errline,error_message()

as errmsg

insert

into errorlog

values

(error_number(),error_severity(),error_state(),error_procedure(),error_line(),error_message())

go

寫乙個儲存過程吧!裡面使用一下try catch:

use [your_test]

go/****** object: storedprocedure [dbo].[gettodaybirthday]

script date: 05/17/2010 15:38:46

author:jinho

desc:獲?取?當?天?生?日?的?所?有?人?

******/

set ansi_nulls on

goset quoted_identifier on

goalter procedure [dbo].[gettodaybirthday]

asbegin try

declare @today datetime;

set @today = getdate();

--獲?取?今?天?的?日?期?

declare @day varchar

(2);

set @day =replace(day(@today),0,

'');

declare @month varchar

(2) ;

set @month = replace(month(@today),0,

'');

declare @year varchar

(4);

set @year = year(@today);

select

* from dbo.userinfo where replace(day(convert(

datetime

,birthday )),0,』』) =@day and replace(month(convert(

datetime

,brithday)),0,』』)=@month and birthday is not null

end try

begin catch

errorlog --呼叫上面的儲存過程,儲存錯誤日誌

end catch

說明:error_number(),error_severity(),error_state(),error_procedure(),error_line(),error_message() 這幾個函式只能用在catch裡面!

technorati 標籤:

sqlserver,

sql,

try catch

在pandas中使用sql

from pandasql import sqldf 查詢記憶體中的pandas資料框 pysqldf lambda q sqldf q,globals 匯入模組,自帶資料,尋找pandas資料框 from pandasql import sqldf,load meat,load births py...

在Axapta中使用標準SQL

雖然axapta當中的sql statement提供了強大的功能,但是由於與整體的功能設計有衝突 如table可以作為變數 axapta省去了一些標準的sql關鍵字,如union,distinct等。那麼我們想使用的話,那怎麼辦呢?我們可以利用statement這個類在axapta中執行標準的sql...

在SQLMAP中使用動態SQL

最近有幾個同事和朋友詢問如何在sqlmap中 拼接字串 因為有時候條件的數量不固定,條件引數型別也不固定,無法寫出 引數名 這樣的sql語句,也就是大家常說的 動態sql 問題。pdf.net資料開發框架在1.0版本就支援這個功能了,而且在sqlmap說明裡面也寫了,但就是沒有人看 這裡舉乙個實際的...