gpt4 book ai didi

c - 识别 PostgreSQL 和 libpq 上的语句

转载 作者:太空宇宙 更新时间:2023-11-04 04:03:57 24 4
gpt4 key购买 nike

这听起来可能很愚蠢,但在使用 libpq 编写 C 程序时,我需要确定哪种 SQL 语句(INSERT、SELECT、UDATE 等)在 PostgreSQL 上已经准备好语句。

让我稍微解释一下:我正在使用 C 语言开发一个小型应用程序,使用提供对 PostgreSQL 数据库的访问的 libpq 库。我在 PostgreSQL 上有一个准备好的语句(使用 PQprepare 命令),但我想知道,在运行它之前,什么样的 SQL 语句是(SELECT,...)。

为什么你会问?假设应用程序从另一个来源读取 SQL 查询,也就是说,它们不是硬编码的。当然,我可能只是在将它发送到 PostgreSQL 之前在我的应用程序上解析 SQL,但对我来说,PostgreSQL 可以为我做这件事会非常方便。

举个例子,Oracle 通过其 OCI 库可以返回此信息。

最佳答案

可以查询系统目录:

SELECT * FROM pg_prepared_statements

它包含有关准备好的语句的详细信息,包括 statement 列中的“客户端提交的查询字符串”。
Read more in the manual here .

请注意,单个有效的 SQL 语句可以同时包含所有这些关键字:INSERTSELECTUDATE(在例如一个可写的 WITH 子句)。

关于c - 识别 PostgreSQL 和 libpq 上的语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8376612/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com