16.19. PREPARE


PREPARE statement_name FROM statement


Prepares a statement for execution later. Prepared statements are queries that are saved on a per-session basis with a given name. The statement can include parameters in place of literals to be filled in at execution time. Parameters are represented by question marks.

Once a statement is prepared using the PREPARE syntax above, it can be executed using the EXECUTE statement and deleted from the session using the DEALLOCATE PREPARE statement. The DESCRIBE OUTPUT and DESCRIBE INPUT statements provide details on the types and origins of a prepared statement’s input and output parameters.


Prepare a select query:

PREPARE my_select1

Prepare a select query that includes parameters. The values to compare with regionkey and nationkey will be filled in with the EXECUTE statement:

PREPARE my_select2
FROM SELECT name FROM nation WHERE regionkey = ? and nationkey < ?;

Prepare an insert:

PREPARE my_insert
FROM INSERT INTO cities VALUES (1, 'San Francisco');