libpq调用postgresql有返回值的函数方法
2014-12-01 00:00
351 查看
假设数据库存在以下函数:
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有返回值的函数方法
- c#带参数和返回值的函数 开启线程调用的方法
- C 中调用 PostgreSQL 内置动态加载函数的方法
- 使用ctypes调用C共享库中函数返回值为链表式结构时的方法
- 函数内调用异步方法获数据,无法及时获取到赋值给返回值,解决
- 3.定义一个接受两个数字的方法,返回两个数字的和 →(javascript代返回值的函数的申明和调用)
- 分析函数调用关系图(call graph)的几种方法
- DWR 调用返回值方法
- VB动态调用外部函数的方法
- MSSQL对函数的调用方法不止一种哦
- sql 调用自定义函数方法
- javascript中iframe里面的页面调用父窗口js函数的方法。
- DWR 调用返回值方法
- 一个button同时执行多个有返回值的函数的解决方法(return false; or return true;)
- 分析函数调用关系图(call graph)的几种方法
- 调用存储过程并且使用返回值的基本方法
- Visual C++ 中调用其他应用程序的方法(函数) (转rockybug)
- 在ActiveX控件中如何动态调用DLL函数之"准"一体化方法
- 有关ASP的过程及函数的定义方法及调用
- 数据访问类用静态方法。。。当多个人调用时返回值会返回别人的?。。。特别奇怪的问题???