postgres:我可以从 SQL 中准备未命名的语句吗

Posted

技术标签:

【中文标题】postgres:我可以从 SQL 中准备未命名的语句吗【英文标题】:postgres: can I prepare unnamed statement from SQL 【发布时间】:2017-10-18 12:50:00 【问题描述】:

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

该函数从 查询字符串,它必须包含单个 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】:

没有。仅有线协议支持未命名的预处理语句。

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

【讨论】:

谢谢。我是这么想的。你认为我应该要求文档人员调整Prepared statements for use with PQexecPrepared can also be created by executing SQL PREPARE statements. 以有这个例外吗?.. 如果您认为有必要,当然可以。提交补丁:)

以上是关于postgres:我可以从 SQL 中准备未命名的语句吗的主要内容,如果未能解决你的问题,请参考以下文章

Sql Table 从 Postgres 函数的结果中选择

使用 Pandas .to_sql 将 JSON 列写入 Postgres

如何在 lua 表中调用未命名函数? [从桌子外面]

Postgres & JPA 命名查询 - WHERE 中的任何 (*) 值

Postgres 的 SQL 查询

使用未引用的命名参数时,TYPO3 抛出异常