728x90
반응형
INSERT ALL은 Oracle에서 여러 행을 한 번에 다른 행으로 삽입할 때 사용하는 구문입니다. 여러 개의 INSERT 문을 결합하여 단일 트랜잭션으로 처리할 수 있도록 도와줍니다. 이 방식은 한 번에 여러 행을 삽입해야 할 때 매우 유용합니다.
INSERT ALL 기본 구조
INSERT ALL
INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...)
INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...)
SELECT 1 FROM DUAL;
주요 요소 설명
- INSERT ALL:
- 여러 행을 삽입하기 위한 명령어입니다.
- ALL을 사용하면 조건 없이 모든 데이터를 삽입합니다. 조건부로 삽입하려면 INSERT FIRST를 사용할 수 있습니다.
- INTO table_name (...) VALUES (...):
- 각 INTO 구문은 삽입할 테이블과 해당 열 및 값을 지정합니다.
- 테이블 이름과 열 목록을 지정하고, 그에 맞는 값을 삽입합니다.
- 여러 개의 INTO 구문을 연결할 수 있습니다.
- SELECT 1 FROM DUAL:
- DUAL은 Oracle에서 사용하는 가상의 테이블입니다. SELECT 1 FROM DUAL은 단순히 삽입을 트리거하는 역할을 하며, 이 부분이 실행되면 여러 INTO 구문이 순차적으로 실행되어 각각의 테이블에 데이터를 삽입합니다.
예시
INSERT ALL
INTO employees (employee_id, first_name, last_name, department_id)
VALUES (101, 'John', 'Doe', 10)
INTO employees (employee_id, first_name, last_name, department_id)
VALUES (102, 'Jane', 'Smith', 20)
INTO employees (employee_id, first_name, last_name, department_id)
VALUES (103, 'Jim', 'Beam', 30)
SELECT 1 FROM DUAL;
728x90
반응형
'DB' 카테고리의 다른 글
[DB][Oracle] 날짜+시간 문자열과 날짜문자열 비교하기 (0) | 2024.10.22 |
---|---|
[DB][SQL] 01월 ~ 12월 데이터가 없어도 조회하기 (1) | 2024.10.16 |
[DB][Oracle] 날짜형식으로 TIMESTAMP 비교하는 방법 (0) | 2024.09.06 |
[DB][Oracle] 컬럼추가, 원하는 위치에 컬럼추가하기 (1) | 2024.09.05 |
[DB][Oracle] ADD_MONTHS (1) | 2024.08.28 |