postgresql - 有没有办法删除 libpq(PostgreSQL)中已经准备好的语句?

标签 postgresql prepared-statement

我已经利用 libpq(PostgreSQL 的)创建和使用准备好的语句。我想知道是否有一种方法可以在不断开数据库连接的情况下删除准备好的语句?或者实现此目标的最佳方法是重新连接和重新准备?

我正在使用 PostgreSQL 8.4 版的 libpq。我搜索了 9.2 文档,但找不到与此相关的任何内容......

最佳答案

根据documentation , DEALLOCATE 是删除准备好的语句的唯一方法,重点补充:

Prepared statements for use with PQexecPrepared can also be created by executing SQL PREPARE statements. Also, although there is no libpq function for deleting a prepared statement, the SQL DEALLOCATE statement can be used for that purpose.

大概他们没有为此公开一个 C 函数,因为这很简单:

  char query[NAMEDATALEN+12];
  snprintf(query, sizeof(query), "DEALLOCATE %s", stmtName);
  return PQexec(conn, query);

关于postgresql - 有没有办法删除 libpq(PostgreSQL)中已经准备好的语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16965495/

相关文章:

postgresql - 在存储函数中使用预处理语句

MYSQL - 在存储过程中组合多个结果集

SQL COUNT 个,共 COUNT 个

mysql - Postgresql设置下一个要写入的ID

ruby-on-rails - Ruby - 查找具有相同属性的所有记录并将它们分组

node.js - 错误 : EXDEV: cross-device link not permitted, 在 Ubuntu 16.04 LTS 上重命名 '/tmp/

c# - 从 EF for PostGresql 生成的查询中的非最佳计数

带数组的 PHP bind_param

c# - 使用参数化参数 WITH sqlcommandbuilder [无数据适配器]

java - 准备好的语句连接错误