작콩큰콩
[ SQL ] 테이블 전체 가져와서 넣기 ( 테이블 전체 select 해서 insert 하기 / insert into 테이블 (컬럼) select 컬럼 from 테이블) 본문
작은 콩 개발자/SQL
[ SQL ] 테이블 전체 가져와서 넣기 ( 테이블 전체 select 해서 insert 하기 / insert into 테이블 (컬럼) select 컬럼 from 테이블)
귤치치 2022. 6. 14. 15:09>> 기본 1
insert 할 테이블 전체를 컬럼으로 쓰지 않고 필요한 컬럼에만 셀렉트 해 온 값을 넣을 수 있다.
INSERT INTO 테이블
(컬럼, 컬럼, ...)
SELECT 컬럼, 컬럼, ...
FROM 테이블;
>> 예시
INSERT INTO TB_PG_WBS
(WBS_CD
, PROJ_CD
, WBS_NM
, LVL
, WGTV
, BIZ_PHS
, UP_CD
, CSTRNBIC_SABUN
, WBS_RIVSN
, UNITCSTRN_YN
, DEL_YN
, RGST_SABUN
, RGST_DT)
SELECT
WBSNO AS WBS_CD
, PROCD AS PROJ_CD
, WBSNM AS WBS_NM
, SLEVEL AS LVL
, WEIGHT AS WGTV
, DECODE( BIZAREA, 'B' , 'CC001', 'E' , 'CC002', 'P' , 'CC003', 'C' , 'CC004', 'CS' , 'CC005' , '' ) AS BIZ_PHS
, UPPERWBS AS UP_CD
, SUPWORK ASCSTRNBIC_SABUN
, '0' AS WBS_RIVSN
, 'N' AS UNITCSTRN_YN
, 'N' AS DEL_YN
, 'a' AS RGST_SABUN
, sysdate AS RGST_DT
FROM T1_XS_WBS
WHERE PROCD = '18612'
AND BIZAREA NOT IN ('X')
AND PDCSTA IS NOT null;
>>기본2
insert 할 테이블 전체 컬럼을 다 넣어주어야 한다. as 를 써서 insert 할 테이블 컬럼으로 맞추지 않아도 된다.
INSERT INTO 테이블
SELECT
컬럼
,컬럼
, ...
FROM 테이블
>> 예시
A 테이블 컬럼 : a, b, c
B 테이블 컬럼 : d, e, f, g
INSERT INTO A
/* 넣어야 하는 테이블에 컬럼을 확인하기 위해서 주석으로 적어준 것 뿐이다.
( a
, b
, c
)*/
SELECT
d --이렇게 as를 안써도 된다.
, e as b -- as를 써서 확실히 적어주어도 좋다.
, g
FROM B
'작은 콩 개발자 > SQL' 카테고리의 다른 글
[mssql] 두 행을 하나로 합치는 쿼리 (STUFF, XML PATH) (0) | 2023.05.30 |
---|---|
[mssql] insert into select / 조회된 값으로 insert 하기 (0) | 2023.05.24 |
ORACLE SQL (0) | 2023.01.11 |
[ SQL ] REPLACE(컬럼, 변경 전 , 변경 후) (0) | 2022.06.15 |
[ SQL ] / 로 들어간 날짜 - 로 변경하기 (TO_DATE, TO_CHAR, REPLACE) (0) | 2022.06.14 |
Comments