原文:
在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 errorlogas 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說明裡面也寫了,但就是沒有人看 這裡舉乙個實際的...