☆코딩개발

MSSQL 특정 테이블 컬럼을 가로로 조회하는 방법

과라나 2014. 10. 20. 11:32
반응형

어떤 테이블을 다른 테이블로 복사하거나 일부 값만 변경하여 그대로 INSERT 할때, 컬럼의 수가 많거나, 길이가 긴 테이블의 컬럼명을 일일이 입력하기 상당히 귀찮습니다. 이왕 생각난김에 컬럼명을 쭉 나열하여 복사해서 사용할 수 있도록 쿼리를 만들었습니다. (더욱 귀찮으실땐 내용을 기준으로 프로시저 만들어서 사용하셔도 되겠습니다.)

 

SELECT A.TABLE_NAME, SUBSTRING(A.COLUMN_NAME, 1, LEN(A.COLUMN_NAME) -1 ) AS COLUMN_NAME
FROM (
SELECT
        DISTINCT
        A.NAME AS TABLE_NAME
        , STUFF(
               (SELECT '[' + BB.name  + '], ' AS [text()] FROM dbo.sysobjects AA JOIN dbo.syscolumns BB ON AA.id = BB.id WHERE BB.id = A.id FOR XML PATH(''))
               ,  1,  1,  '['
               ) AS COLUMN_NAME
FROM dbo.sysobjects A JOIN dbo.syscolumns B ON A.id = B.id ) A
WHERE A.TABLE_NAME = @컬럼을 조회할 테이블명

 

위와같이 조회하면 테이블명과, 컬럼명이 가로로 조회되어 출력됩니다.

 

 

감사합니다.

 

출처 광대승천님

반응형