본문 바로가기
프로그램ing/MSSQL

[MS-SQL] 기존 테이블 디자인으로 임시테이블 만들기

by 철밥통 2020. 8. 7.
반응형

[MS-SQL] 기존 테이블 디자인으로 임시테이블 만들기

 

1. 아래와 같이 조회하면 해당 TABLE의 정보들이 나타납니다.

SELECT * 
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'TABLE_NAME'

조회된 결과에서 

COLUMN_NAME : 컬럼명(YM_BUILT varchar(7))

DATA_TYPE : 데이터 타입(YM_BUILT  varchar(7))

CHARACTER_MAXIMUIM_LENGTH : 데이터 길이(YM_BUILT varchar(7))

NUMERIC_PRECISION : 데이터 타입이 숫자형일 경우 정수범위(YM_BUILT numeric(18,2))

NUMERIC_SCALE : 데이터 타입이 숫자형일 경우 소수범위(YM_BUILT numeric(18,2))

이 다섯가지의 컬럼들을 가지고 CREATE TABLE에 들어갈 컬럼 항목들을 만듭니다.

 

 

2. DATA TYPE에 따라서 CASE 조건으로 컬럼 항목들을 만드는 쿼리 입니다.

   아래의 코드를 복사해서 TABLE_NAME을 입력하신 뒤 실행하시면

 

SELECT  COLUMN_NAME, CASE WHEN DATA_TYPE = 'varchar' THEN DATA_TYPE+'('+CONVERT(VARCHAR(10), CHARACTER_MAXIMUM_LENGTH)+'),'  
                          WHEN DATA_TYPE = 'nvarchar' THEN DATA_TYPE+'('+CONVERT(VARCHAR(10), CHARACTER_MAXIMUM_LENGTH)+'),' 
                          WHEN DATA_TYPE = 'numeric' THEN DATA_TYPE+'('+CONVERT(VARCHAR(10),NUMERIC_PRECISION)+','+CONVERT(VARCHAR(10),NUMERIC_SCALE)+'),' END 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME = 'TABLE_NAME'

 

이와 같은 결과가 나옵니다. 

 

해당 내용을 복사하신 뒤에 아래와 같이 임시테이블을 생성하면서 붙여 넣으시면 일일이 디자인 구조를 보면서

입력하지 않아도 손쉽게 임시 테이블을 구성하실 수 있습니다.

마지막 컬럼에서는 꼭 " , " 를 제거하신 뒤에 CREATE 해주시기 바랍니다.

 

반응형

댓글