OCIDefineArrayOfStruct()或OCIBindArrayOfStruct等效于PostgreSQL.&



我目前正在工作更新客户端代码从OCI到libq。我知道OCIDefineArrayOfStruct()和OCIBindArrayOfStruct()用于通过启用多行,多列获取来提高性能。

是否有办法使用libpq做同样的事情?

PostgreSQL没有在客户端使用数组的批量读取或批量DML语句的概念。

批量获取行,使用游标和FETCH语句。所有获取的行都在单个PGresult中返回,您可以方便地遍历它们。如果要批量插入行,请使用多行INSERT语句或COPY语句。

你将不得不从头开始重写使用C API的代码,因为Oracle和PostgreSQL的C API是完全不同的。好消息是,PostgreSQL的API比拜占庭式的OCI要方便得多。

最新更新