diff --git a/doc/src/sgml/ecpg.sgml b/doc/src/sgml/ecpg.sgml
index 89d4c57..7ec122e 100644
--- a/doc/src/sgml/ecpg.sgml
+++ b/doc/src/sgml/ecpg.sgml
@@ -224,7 +224,7 @@ EXEC SQL CONNECT TO :target USER :user USING :passwd;
SQL statements in embedded SQL programs are by default executed on
the current connection, that is, the most recently opened one. If
an application needs to manage multiple connections, then there are
- two ways to handle this.
+ three ways to handle this.
@@ -296,6 +296,17 @@ current=testdb2 (should be testdb2)
current=testdb1 (should be testdb1)
+
+
+ The third option is to declare a sql identifier linked to
+ the connection, for example:
+
+EXEC SQL AT connection-name DECLARE statement-name STATEMENT;
+EXEC SQL PREPARE statement-name FROM :dyn-string;
+
+ Once you link a sql identifier to a connection, you execute a dynamic SQL
+ without AT clause.
+
@@ -6710,6 +6721,107 @@ EXEC SQL DECLARE cur1 CURSOR FOR stmt1;
+
+
+ DECLARE STATEMENT
+ declares SQL statement identifier associated with connection
+
+
+
+
+EXEC SQL [ AT connection_name ] DECLARE statement_name STATEMENT
+
+
+
+
+ Description
+
+
+ DECLARE STATEMENT declares SQL statement identifier.
+ SQL statement identifier is associated with connection.
+
+
+
+ DELARE CURSOR with a SQL statement identifier can be written before PREPARE.
+
+
+
+
+ Parameters
+
+
+
+ connection_name
+
+
+ A database connection name established by the CONNECT command.
+
+
+ If AT clause is omitted, an SQL statement identifier is associated with the DEFAULT connection.
+
+
+
+
+
+
+
+ statement_name
+
+
+ The name of a SQL statement identifier, either as an SQL identifier or a host variable.
+
+
+
+
+
+
+
+ Notes
+
+
+ An SQL statement with a SQL statement identifier must use a same connection
+ as the connection that the SQL statement identifier is associated with.
+
+
+
+ AT clause cannot be used with the SQL statement which have been identified by DECLARE STATEMENT
+
+
+
+
+ Examples
+
+
+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;
+
+
+
+
+ Compatibility
+
+
+ DECLARE STATEMENT is a PostgreSQL extension of the SQL standard,
+ but can be used in Oracle and DB2.
+
+
+
+
+ See Also
+
+
+
+
+
+
+
+
+
DESCRIBE