[英]Identifying an statement on PostgreSQL & libpq
听起来可能很愚蠢,但是在使用libpq编写C程序时,我需要确定哪种SQL语句(INSERT,SELECT,UDATE等)在PostgreSQL上已经准备好了。
让我解释一下不同:我正在使用提供对PostgreSQL数据库访问的libpq库在C上开发一个小型应用程序。 我在PostgreSQL上有一条准备好的语句(使用PQprepare命令),但是我想知道在运行它之前是哪种SQL语句(SELECT,...)。
你为什么会问? 我们只说应用程序从另一个来源读取SQL查询,也就是说,它们不是硬编码的。 当然,我可以在将应用程序发送给PostgreSQL之前先解析应用程序中的SQL,但对我来说,PostgreSQL可以为我做这件事非常方便。
仅作为示例,Oracle可以通过其OCI库返回此信息。
您可以查询系统目录:
SELECT * FROM pg_prepared_statements
它包含有关准备好的语句的详细信息,包括column statement
“客户端提交的查询字符串”。
在此处阅读更多手册 。
请注意,单个有效的SQL语句可以同时包含所有这些关键字: INSERT
, SELECT
, UDATE
(例如,在可写的WITH子句中)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.