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;