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

  1. prepare_statement ::= PREPARE name [ ( data_type [ , ... ] ) ] AS
  2. statement

prepare_statement

PREPARE - 图1

Semantics

  • The statement in PREPARE may (should) contain parameters (e.g. $1) that will be provided by the expression list in EXECUTE.
  • The data type list in PREPARE represent the types for the parameters used in the statement.

Examples

Create a sample table.

  1. yugabyte=# CREATE TABLE sample(k1 int, k2 int, v1 int, v2 text, PRIMARY KEY (k1, k2));

Prepare a simple insert.

  1. yugabyte=# PREPARE ins (bigint, double precision, int, text) AS
  2. INSERT INTO sample(k1, k2, v1, v2) VALUES ($1, $2, $3, $4);

Execute the insert twice (with different parameters).

  1. yugabyte=# EXECUTE ins(1, 2.0, 3, 'a');
  1. yugabyte=# EXECUTE ins(2, 3.0, 4, 'b');

Check the results.

  1. yugabyte=# SELECT * FROM sample ORDER BY k1;
  1. k1 | k2 | v1 | v2
  2. ----+----+----+----
  3. 1 | 2 | 3 | a
  4. 2 | 3 | 4 | b
  5. (2 rows)

See also