开发快照。 PostgreSQL 20devel 尚未正式发布,内容仍可能变化。
PREPARE
PREPARE — 预备一个语句以供执行
大纲
PREPAREprepared_nameFROMstring
参数
注解
在典型用法中,string 是一个主变量引用,指向包含动态构造 SQL 语句的字符串。直接使用字符串常量通常并不太有用;你也可以直接写一条 SQL PREPARE 语句。
如果使用字符串字面量,请注意,要在 SQL 语句中包含的双引号必须写为八进制转义(\042),而不是通常的 C 写法\"。这是因为字符串位于 EXEC SQL 段中,ECPG 词法分析器会按照 SQL 规则而非 C 规则解析它。内嵌的反斜杠随后会按照 C 规则处理;但\" 会被视为字面量的结束,因此会立即引起语法错误。
示例
char *stmt = "SELECT * FROM test1 WHERE a = ? AND b = ?"; EXEC SQL ALLOCATE DESCRIPTOR outdesc; EXEC SQL PREPARE foo FROM :stmt; EXEC SQL EXECUTE foo USING SQL DESCRIPTOR indesc INTO SQL DESCRIPTOR outdesc;
兼容性
SQL 标准中说明了 PREPARE。