특정 컬럼명을 포함하고 있는 테이블명을 알고 싶을 때 유용하다.
가령, 수리날짜(RepairDate) 라는 데이터가 있는 이 컬럼을 가지고 있는 테이블이 뭔지 찾으려면 테이블을 하나 하나 열어봐야 하는데 귀찮으므로, 한방에 찾아보자
ALTER PROC DBO.컬럼찾기 @COLNMAE VARCHAR(200) /***************************** 1> 컬럼명으로테이블찾기 2> 특정컬럼명을사용하는테이블이뭐가있는지궁금할때 3> 2012.07.03 4> KTMIN 5> EX) EXEC 컬럼찾기 'repacost' *****************************/ AS SELECT B.NAME AS 테이블명 ,A.NAME AS 컬럼명 ,TYPE_NAME(USER_TYPE_ID) AS 데이타타입 ,CONVERT(INT, MAX_LENGTH) AS 길이 ,B.CRDATE AS 테이블생성일 FROM SYS.ALL_COLUMNS AS A INNER JOIN SYSOBJECTS AS B ON A.OBJECT_ID=B.ID AND B.XTYPE='U' WHERE A.NAME=@COLNMAE |
실행하면 아래와 같은 결과가 나오겠다.
'SQL > 도움말 팁들!' 카테고리의 다른 글
[MSSQL] 문자열 자르는 함수 (0) | 2012.07.06 |
---|---|
[MSSQL] SQL SERVER 2005 사용자 추가 및 계정 권한 컨트롤 (0) | 2012.07.06 |
FK 설정시 충돌이 발생했다? 무슨 이야기지? (0) | 2012.06.28 |
대량의 테이블 N개 단위로 끊어서 삭제하기 (0) | 2012.06.27 |
로그파일 LDF 크기 줄이기 (0) | 2012.06.27 |