DB

[DB][Oracle] 여러행 삽입하기

오선지♬ 2024. 9. 29. 13:03
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;

 

 

주요 요소 설명

  1. INSERT ALL:
    • 여러 행을 삽입하기 위한 명령어입니다.
    • ALL을 사용하면 조건 없이 모든 데이터를 삽입합니다. 조건부로 삽입하려면 INSERT FIRST를 사용할 수 있습니다.
  2. INTO table_name (...) VALUES (...):
    • 각 INTO 구문은 삽입할 테이블과 해당 열 및 값을 지정합니다.
    • 테이블 이름과 열 목록을 지정하고, 그에 맞는 값을 삽입합니다.
    • 여러 개의 INTO 구문을 연결할 수 있습니다.
  3. 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
반응형