본문으로 건너뛰기

PREPARE-EXCECUTE

테이블 스키마에 맞는 새 행을 삽입합니다.

PREPARE

  • 나중에 사용할 수 있는 구문을 준비합니다. 구문에는 실행 시점에 대체할 수 있는 파라미터를 포함할 수 있습니다.

  • 파라미터는 물음표(?) 로 사용합니다. 파라미터를 사용한 경우 EXECUTE 구문과 함께 사용합니다.

    PREPARE statement_name FROM statement
    • statement_name : 구문을 구분하기 위한 이름입니다.
    • statement : 쿼리문을 입력합니다.

EXECUTE

  • PREPARE를 사용하여 준비한 구문을 실행합니다. PREPARE에서 파라미터를 사용한 경우 USING으로 값을 정의할 수 있습니다.

    PREPARE statement_name FROM statement
    • statement_name : 구문을 구분하기 위한 이름입니다.

EXECUTE IMMEDIATE

  • PREPARE를 사용하지 않고 구문을 즉시 실행합니다. 파라미터를 사용한 경우 USING으로 값을 정의할 수 있습니다

    EXECUTE IMMEDIATE `statement` [ USING parameter1 [ , parameter2, ... ] ]
    • statement_name : 구문을 구분하기 위한 이름입니다.

DEALLOCATE PREPARE

  • PREPARE로 정의한 구문을 삭제합니다.

    DEALLOCATE PREPARE my_query;

사용 예시

PREPARE-EXECUTE 구문 Example
PREPARE my_select1 FROM
SELECT name FROM nation;
EXECUTE my_select1;

-- 파라미터를 사용한 경우
PREPARE my_select2 FROM
SELECT name FROM nation WHERE regionkey = ? and nationkey < ?;
EXECUTE my_select2 USING 1, 3;

EXECUTE IMMEDIATE
'SELECT name FROM nation';

EXECUTE IMMEDIATE
'SELECT name FROM nation WHERE regionkey = ? and nationkey < ?'
USING 1, 3;

DEALLOCATE PREPARE my_select1;