반응형
[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 해주시기 바랍니다.
반응형
'프로그램ing > MSSQL' 카테고리의 다른 글
[MSSQL] 백업 스케쥴 생성 (0) | 2021.07.02 |
---|---|
[MSSQL] 목표금액만큼 난수로 금액 나누기/채우기 (1) | 2019.08.29 |
[MSSQL] BULK INSERT 시 필드종결자와 행종결자 에러 (0) | 2019.08.09 |
MSSQL Database. IP주소 문자열 정렬하기 (0) | 2017.07.13 |
댓글