postgres:我可以从SQL

时间:2017-10-18 12:50:01

标签: postgresql prepared-statement

https://www.postgresql.org/docs/current/static/libpq-exec.htmlPQprepare旁边:

  

该函数从中创建名为 stmtName 的预准备语句   查询字符串,必须包含单个SQL命令。 stmtName 可以   ""创建一个未命名的语句,在这种情况下任何预先存在的语句   未命名的语句会自动替换;否则是一个错误   如果语句名称已在当前会话中定义。

并进一步:

  

也可以创建用于 PQexecPrepared 的预备语句   执行SQL PREPARE语句。

现在https://www.postgresql.org/docs/current/static/sql-prepare.html

  

PREPARE name [(data_type [,...])] AS语句

  

name为此特定预准备语句指定的任意名称。它   必须在单个会话中是唯一的,并随后用于   执行或取消分配先前准备好的声明。

问题: 我是否可以使用SQL语句PREPARE创建未命名的预准备语句?默默地可以重复使用以及所有其他的......

t=# prepare ""(int) as select $1,now();
ERROR:  zero-length delimited identifier at or near """"
LINE 1: prepare ""(int) as select $1,now();

并省略名称:

ERROR:  syntax error at or near "as"

或者我错过了一些非常明显的东西?..

1 个答案:

答案 0 :(得分:1)

没有。未命名的预准备语句仅在有线协议上受支持。

它们主要用于带有绑定参数的一次性语句和批处理。