#하나의 질의어로 SELECT 후 INSERT를 하는 방법
#일반적인 INSERT문
INSERT INTO
테이블(
컬럼1,
컬럼2,
컬럼3
)
VALUES(
?,
?,
?
)
#SELECT한 결과를 INSERT하는 방법
VALUES를 작성하는 자리에 SELECT문을 작성하면 된다
이때 INSERT하는 항목수와 SELECT하는 항목수는 같아야한다
위에서부터 순차적으로 들어가기때문에 컬럼명은 상관이 없다
INSERT INTO
테이블(
컬럼1,
컬럼2,
컬럼3
)
SELECT
컬럼1,
컬럼2,
컬럼3
FROM
테이블
WHERE
조건
#SELECT결과와 인수를 동시에 INSERT할때는 아래와 같다
INSERT INTO
테이블(
컬럼1,
컬럼2,
컬럼3,
컬럼4 -- DATE타입 컬럼
)
SELECT
컬럼1,
컬럼2,
?, --스프링이라면 ?대신에 ${변수명 or 인수명}
TO_DATE(?, 'YYYYMMDD') -- 인수를 타입에 맞게 변환
FROM
테이블
WHERE
조건
#또한 SELECT항목수와 INSERT항목수가 같다면 INSERT 컬럼명은 생략 가능하다
INSERT INTO
테이블 --컬럼이 3개 밖에 없는 테이블
SELECT
컬럼1,
컬럼2,
컬럼3
FROM
테이블
WHERE
조건
#검색과 삽입 하는 테이블의 컬럼갯수가 둘다 같다면 *를 사용해 간단하게 할 수 있다
INSERT INTO
테이블 --컬럼이 10개인 테이블
SELECT
*
FROM
테이블 --컬럼이 10개인 테이블
WHERE
조건
'DB > Oracle' 카테고리의 다른 글
[ORACLE] 문자열 합치기 (0) | 2020.11.17 |
---|---|
[ORACLE] SELECT to UPDATE (0) | 2020.11.09 |
[ORACLE] 테이블 결합 OR 조건절 없이 테이블 JOIN하는 방법 (0) | 2020.10.29 |
[ORACLE] DECODE (0) | 2020.10.28 |
[ORACLE] WHERE 동적 조건문 작성법 (0) | 2020.10.22 |