☆코딩개발
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 = @컬럼을 조회할 테이블명
위와같이 조회하면 테이블명과, 컬럼명이 가로로 조회되어 출력됩니다.
감사합니다.
반응형