일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 엑셀
- 단축키
- microsoft
- jQuery
- 윈도우
- 윈폼
- c#
- replace()
- SSRS
- windows
- 오라클
- DataGrid
- 리포팅서비스
- MSSQL
- 이클립스
- 마이크로소프트
- Excel
- 비주얼스튜디오
- 프로시저
- aspnet
- attr()
- CONVERT()
- 자바스크립트
- 태그를 입력해 주세요.
- Winform
- javascript
- MS
- ASP
- oracle
- IIS
- Today
- Total
DJ메탈짱™의 Free Style
[MS-SQL] System Table을 활용하여 컬럼정보 조회하기 본문
1. Procedure Create
/*************************************************************************************
' Procedure Name : sp_SelectTableColumnInfo_Second
' Written date : 2007.03.27
' Writer : Bo H. Choi
' Contents : Table Information Select ( Column Name, Data Type, Column Length )
' Updated by :
' Updated date :
' Updated contents :
' Sample : exec sp_SelectTableColumnInfo_Second 'Authors', 1
' exec sp_SelectTableColumnInfo_Second 'Authors', 2
' exec sp_SelectTableColumnInfo_Second 'Authors', 3
*************************************************************************************/
CREATE PROC sp_SelectTableColumnInfo_Second
(
@TABLE VARCHAR (128), -- Table Name
@TYPE VARCHAR (10)
)
AS
DECLARE @sqlStr VARCHAR(8000)
-- INSERT 쿼리작성시 SELECT절 참고
IF @TYPE = 1
SET @sqlStr = '
SELECT C.name + '','' AS colNm, ''@'' + C.name + '','' AS colValue
FROM syscolumns C, systypes T
WHERE C.XUserType = T.XUserType AND C.id IN
(
SELECT id
FROM sysobjects
WHERE name =''' + @table + '''
)
'
-- 프로시저 작성시 참고
ELSE IF @TYPE = 2
SET @sqlStr = '
SELECT ''@'' + UPPER(C.name),
CASE UPPER(T.name)
WHEN ''INT'' THEN UPPER(T.name) + '',''
ELSE UPPER(T.name) + ''('' + CAST(C.length AS VARCHAR) + ''),''
END
FROM syscolumns C, systypes T
WHERE C.XUserType = T.XUserType AND C.id IN
(
SELECT id
FROM sysobjects
WHERE name =''' + @table + '''
)
ORDER BY colorder
'
-- 컬럼정보 조회하기
ELSE IF @TYPE = 3
SET @sqlStr = '
SELECT C.name ,T.name , C.length
FROM syscolumns C, systypes T
WHERE C.XUserType = T.XUserType AND C.id IN
(
SELECT id
FROM sysobjects
WHERE name =''' + @table + '''
)
ORDER BY colorder
'
EXEC (@sqlStr)
2. 사용방법
'일(job) > DBMS' 카테고리의 다른 글
[MS-SQL] 휴대전화 포맷 "000-0000-0000" #분리 #SPLIT (0) | 2016.01.12 |
---|---|
[MS-SQL] 퍼센트 계산하기 (0) | 2016.01.12 |
[MS-SQL] MS-SQL 2000 쿼리 분석기 단축키(Shortcut) 활용법 (0) | 2016.01.12 |
[MS-SQL] 선택한 사용자는 개체를 소유하고 있으므로 삭제할 수 없습니다. (0) | 2016.01.12 |
[MS-SQL] '오류 21002 SQL-DMO] '추가계정' 사용자가 이미 있습니다.' (0) | 2016.01.12 |