database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 2072 게시물 읽기
No. 2072
저장프로시져 버전 관리 시스템 만들기
작성자
석이
작성일
2005-07-04 07:27
조회수
3,758

책보고 한번 옮겨 보았습니다.

저장프로시져가 몇백개가 넘어가니 이제는 버전관리도 필요하고

누가 만든 프로시져 인지도 알아야 하고

뭔가 체계적으로 되어야 한다고 절실히 느끼고 있었는데

책에 소개된 방법으로 해보니 정말 멋집니다.

 

혹시나 모르시는 분은 적용해 보십시요 사랑 받을겁니다. ^-^

 

use master
go
if object_id('dbo.sp_usage') is not null
drop proc dbo.sp_usage
go
create proc dbo.sp_usage
-- 필수 입력 매개변수
@objectname sysname = null,
@desc sysname = null,
-- 선택 입력 매개변수
@parameters varchar(8000) = null,
@returns varchar(8000) = null,
@example varchar(8000) = null,
@workfile sysname = null,
@author sysname = null,
@email sysname = '(none)',
@version sysname = null,
@revision sysname = '0',
@datecreated smalldatetime = null,
@datelastchanged smalldatetime = null


AS
SET NOCOUNT ON
IF (@objectname+@desc IS NULL) GOTO Help
PRINT 'Object: '+@objectname
PRINT 'Descriptrion: '+@desc

IF (OBJECTPROPERTY(OBJECT_ID(@objectname),'IsProcedure')=1)
OR (OBJECTPROPERTY(OBJECT_ID(@objectname),'IsExtendedProc')=1)
OR (OBJECTPROPERTY(OBJECT_ID(@objectname),'IsReplProc')=1)
OR (LOWER(LEFT(@objectname,3))) = 'sp_' BEGIN
PRINT CHAR(13) + 'Usage:'+@objectname+' '+@parameters
PRINT CHAR(13) + 'Returns: ' +@returns
END

IF (@workfile IS NOT NULL)
PRINT CHAR(13) + '$Workfile: '+@workfile+' $'
IF (@author IS NOT NULL)
PRINT CHAR(13) + '$Author: '+@author+' $. Email: '+@email
IF (@version IS NOT NULL)
PRINT CHAR(13) + '$Revisision: '+@version+'.'+@revision+' $'
IF (@example IS NOT NULL)
PRINT CHAR(13) + 'Example: ' +@example
IF (@datecreated is not null) begin
declare @datefmt varchar(8000), @dc varchar(30), @lc varchar(30)
set @dc=convert(varchar(30), @datecreated, 120)
set @lc=convert(varchar(30), @datelastchanged, 120)
print char(13) + 'Created: '+CASE
datediff(ss, convert(char(8), @datecreated,108), '00:00:00') when 0 then
left(@dc,10) else @dc end
+'. $Modtime: '+CASE
datediff(ss,convert(char(8),@datelastchanged,108),'00:00:00') when 0 then
left(@lc,10) else @lc END+ ' $. '
end

return 0

Help:
EXEC dbo.sp_usage @objectname = 'sp_usage',
@desc='Provides usage information for stored procedures and descriptions of ther typs of objects',
@parameters='@objectname=''ObjectName'',@desc=''Description of object''
[,@parameters=''param1, param2...'']
[,@example=''Example of usage'']
[,@workfile=''File name of script'']
[,@author=''Author email'']
[,@email=''Author email'']
[,@version=''Version number of info'']
[,@revision=''Revision number or info'']
[,@datecreated=''Date created'']
[,@datelastchanged=''Date last changed'']',
@example='sp_usage @objectname=''sp_who'',
@desc=''Returns a list of currently running jobs'',
@parameters=[@loginname]',
@author='김민석',
@workfile='sp_usage.sql',
@email='minsouk@hotmail.com',
@version='1', @revision='1',
@datecreated='7/3/05', @datelastchanged='7/4/05'
return -1







sp_usage

sp_usage @objectname='sp_who',
@desc='Returns a list of currently running jobs',
@parameters='sa'

sp_who sa

이 글에 대한 댓글이 총 2건 있습니다.

야유회 이후 좋은 글들을 보고 내심 게으름을 다시금 잡고 공부하게 됩니다.

 

예전에 배웠던 군자삼락을 생각해봅니다.

"유붕이 자원방래하니 불력호아"

 

이런 말을 가장 잘 표현한 말들이 시너지, 인프라, 네트워크가 아닐까 합니다.

이 말의 뜻은 다음에 만날 기회가 있으면 같이 이야기 하다보면 금방 알게 될 것입니다.

 

그럼 보이지 않는 곳에서 더욱 열심히 하는 우리가 됩시다. ^^

 

 

여리님이 2005-07-04 09:40에 작성한 댓글입니다. Edit

많이 모자란 저를 벗으로 여겨 주신다니 너무 너무 감사 합니다.

열심히 하겠습니다. ^---^

석이님이 2005-07-04 13:00에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
2075[초보]mssql 에 있는 데이터를 mysql 로 옮기고 싶은데요.. [1]
우상철
2005-07-04
2734
2074MSSQL 서버 3대를 2:1 로 자료를 일정 시간에 옮겨 오려고 합니다. [3]
보리
2005-07-04
3521
2073프로필러에서 잠금관련 질문입니다...
초보
2005-07-04
2671
2072저장프로시져 버전 관리 시스템 만들기 [2]
석이
2005-07-04
3758
2071mssql2000에서 xpath를 사용할려고 하는데 [1]
미친곰
2005-07-02
2374
2070linux 9.x 에서 mysql 제거좀 도와주세요 ㅠ,ㅠ [1]
최병욱
2005-07-01
2106
2069테이블명앞의 [.] 의 의미는? [3]
김현숙
2005-07-01
2347
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다