PREPARE
Synopsis
Use the PREPARE
statement to create a handle to a prepared statement by parsing, analyzing, and rewriting (but not executing) the target statement.
Syntax
prepare_statement ::= PREPARE name [ ( data_type [ , ... ] ) ] AS
sql_stmt
prepare_statement
Semantics
- The statement in
PREPARE
may (should) contain parameters (e.g.$1
) that will be provided by the expression list inEXECUTE
. - The data type list in
PREPARE
represent the types for the parameters used in the statement.
Examples
Create a sample table.
yugabyte=# CREATE TABLE sample(k1 int, k2 int, v1 int, v2 text, PRIMARY KEY (k1, k2));
Prepare a simple insert.
yugabyte=# PREPARE ins (bigint, double precision, int, text) AS
INSERT INTO sample(k1, k2, v1, v2) VALUES ($1, $2, $3, $4);
Execute the insert twice (with different parameters).
yugabyte=# EXECUTE ins(1, 2.0, 3, 'a');
yugabyte=# EXECUTE ins(2, 3.0, 4, 'b');
Check the results.
yugabyte=# SELECT * FROM sample ORDER BY k1;
k1 | k2 | v1 | v2
----+----+----+----
1 | 2 | 3 | a
2 | 3 | 4 | b
(2 rows)