我已经利用 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/