我正在尝试使用 PL/pgSQL 调用在 PostgreSQL 中声明的函数。为此,我编写了下面的代码。我的功能正在运行,但之后我正在接受“PGRES_FATAL_ERROR”。此外,当我使用“DELETE * FROM TABLE1”之类的 sql 查询更改“select removestopwords()”时,它工作成功。
我正在考虑,即使现在可以工作,该错误也可能在将来引起一些大问题。如何在不出错的情况下调用 PL/pgSQL 函数?
void removeStopWordsDB(PGconn* conn) {
PGresult *res = PQexec(conn, "select removestopwords()");
if (PQresultStatus(res) != PGRES_COMMAND_OK) {
printf("removestopwords failed");
cout<<PQresultStatus(res);
PQclear(res);
exit_nicely(conn);
}
printf("removestopwords - OK\n");
PQclear(res);
}