我想调用PostgreSQL中用PL/pgSQL声明的函数。为此我写下面的代码。我的功能正在工作,但在此之后,我正在采取“PGRES_FATAL_ERROR”。另外,当我用“DELETE * FROM TABLE1”这样的sql查询改变了“select removestopwords()”时,它就成功了。如何从C++代码调用PL/pgSQL函数
我在考虑,即使现在正在工作,这个错误在将来可能会导致一些大问题。如何在不出错的情况下调用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);
}
我没有在你的问题中看到plpgsql函数的定义。 –