libpq调用postgresql有返回值的函数方法
2012-02-29 14:55
375 查看
假设数据库存在以下函数:
c++调用:
而不是
后者返回的是一个OID为2249的复合类型。
文献参考:
http://postgresql.1045698.n5.nabble.com/getting-composite-types-info-from-libpq-td3306738.html
-- Function: for_test(integer, integer) --DROP FUNCTION for_test(integer, integer); CREATE OR REPLACE FUNCTION for_test(INOUT param1 integer, INOUT param2 integer) RETURNS record AS $BODY$ begin select id,def_skill_id into param1,param2 from gangs where id = param1; end $BODY$ LANGUAGE plpgsql VOLATILE COST 100; ALTER FUNCTION for_test(integer, integer) OWNER TO postgres;
c++调用:
Mordor::PQ::Result rt1 = conn->execute("SELECT * from for_test(1,2)"); int a = (int)rt1.getType((size_t)0); int id = rt1.get<int>((size_t)0, (size_t)0); std::cerr << a << " " << id << std::endl;这里用到了Mordor库,它是对libpq的一个简单封装,这不是重点,关键是查询函数是要用
SELECT * from for_test(1,2)
而不是
SELECT for_test(1,2)
后者返回的是一个OID为2249的复合类型。
文献参考:
http://postgresql.1045698.n5.nabble.com/getting-composite-types-info-from-libpq-td3306738.html
相关文章推荐
- libpq调用postgresql有返回值的函数方法
- 函数内调用异步方法获数据,无法及时获取到赋值给返回值,解决
- 3.定义一个接受两个数字的方法,返回两个数字的和 →(javascript代返回值的函数的申明和调用)
- 使用ctypes调用C共享库中函数返回值为链表式结构时的方法
- C 中调用 PostgreSQL 内置动态加载函数的方法
- c#带参数和返回值的函数 开启线程调用的方法
- 在js中调用该js内定义的函数方法
- js Date 函数方法 和 移动端数字键盘调用
- [matlab]--调用不同路径下函数的方法(类似c++#include(xxx))
- ThinkPHP调用common/common.php函数提示错误function undefined的解决方法
- java 有返回值方法调用
- JS在Chrome浏览器中showModalDialog函数返回值为undefined的解决方法
- oracle 存储过程和函数的调用方法
- array_map函数在PHP类中调用内部方法简介
- 在JavaScript里防止事件函数高频触发和高频调用的方法
- SharePoint内容定制之XSLT高级用法——带返回值的函数调用
- php调用类中属性和函数的常用方法->_=>_::_$this->
- 测试方法,方便,在函数中调用时还能显示它的fun的text
- VC/MFC中通过CWebPage类调用javascript函数(给js函数传参,并取得返回值)
- vc中调用其他应用程序的方法(函数) winexec,shellexecute ,createprocess