#title SP 템플릿 [[TableOfContents]] ==== 소스 ==== {{{ create proc [스키마].usp_[테이블명]_[crud]_[프로시저명] --적당한 약어를 앞뒤로 사용.. @파라미터1 [datetype] , @파라미터2 [datetype] , @파라미터n [datetype] /* 작 성 일: 2007-11-26 작 성 자: 이재학 설 명: 파라미터: - 입력 - 출력 수정내용: 수정일 수정자 수정내용 ---------- ------ -------------------------------------------------------------- 2007-11-26 이재학 최초버전 */ --with execute as 사용자(권한있는사용자, 동적쿼리실행시만 사용, 평소 주석처리) as set lock_timeout 3000 set xact_abort on set nocount on begin try begin tran; --SP내용을 여기에.. commit; return 0; end try begin catch if (xact_state()) = -1 rollback; else if (xact_state()) = 1 commit; insert dbo.t_sp_errorlog ( err_number , err_severity , err_state , err_procedure , err_line , err_message , err_datetime , parameters ) select error_number() as err_number -- int , error_severity() as err_severity -- int , error_state() as err_state -- int , error_procedure() as err_procedure -- nvarchar(126) , error_line() as err_line -- int , error_message() as err_message -- nvarchar(2048) , getdate() as err_datetime -- datetime , convert(nvarchar(200), @파라미터1) + ',' + convert(nvarchar(200), @파라미터2) + ',' + convert(nvarchar(200), @파라미터n) return error_number(); end catch; /* --먼저 아래의 테이블이 생성되어 있어야 한다. create table [스키마].[t_sp_errorlog]( [err_number] [int] null, [err_severity] [int] null, [err_state] [int] null, [err_procedure] [nvarchar](126) null, [err_line] [int] null, [err_message] [nvarchar](2048) null, [err_datetime] [datetime] null, [parameters] [nvarchar](max) null ); */ }}}