본문 바로가기

SQL/도움말 팁들!

[MSSQL] 특정 컬럼명을 포함하는 테이블 목록보기

특정 컬럼명을 포함하고 있는 테이블명을 알고 싶을 때 유용하다.

가령, 수리날짜(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




실행하면 아래와 같은 결과가 나오겠다.