PostgreSQL 中文参考文档
🌐 英文原版 官方 ↗

DECLARE STATEMENT

DECLARE STATEMENT — 声明 SQL 语句标识符

Synopsis

EXEC SQL [ AT connection_name ] DECLARE statement_name STATEMENT

描述

DECLARE STATEMENT 声明一个 SQL 语句标识符。 SQL 语句标识符可以与一个连接相关联。当动态 SQL 语句使用该 标识符时,这些语句将使用关联的连接执行。该声明的命名空间是 预编译单元,不允许对同一个 SQL 语句标识符进行多次声明。注意, 如果预编译器在 Informix 兼容模式下运行并且声明了某些 SQL 语句,则 "database" 不能用作游标名称。

参数

connection_name #

由 CONNECT 命令建立的一个数据库连接名。

AT 子句可以省略,但这样的语句没有任何意义。

statement_name #

SQL 语句标识符的名称,可以是一个 SQL 标识符或一个主变量。

注意事项

只有当该声明物理上位于一个动态语句之前时,这种关联才有效。

示例

EXEC SQL CONNECT TO postgres AS con1;
EXEC SQL AT con1 DECLARE sql_stmt STATEMENT;
EXEC SQL DECLARE cursor_name CURSOR FOR sql_stmt;
EXEC SQL PREPARE sql_stmt FROM :dyn_string;
EXEC SQL OPEN cursor_name;
EXEC SQL FETCH cursor_name INTO :column1;
EXEC SQL CLOSE cursor_name;

兼容性

DECLARE STATEMENT 是对 SQL 标准的一个扩展, 但可以在知名的 DBMS 中使用。

另请参阅

CONNECT, DECLARE, OPEN