ご協力をお願いいたします。
☆頂きたい回答
1)OUT型引数に返却値を戻すC言語のサンプルプログラム
2)外部から当該関数を呼び出し返却値を確認する PL/SQL サンプルプログラム
☆留意点
関数呼び出し時の3つのOUT引数は変えたくない、それ以外は変更可
PostgreSQL 9.2
RHLE7.1
■C言語関数宣言
DROP FUNCTION test_func(OUT INTEGER, OUT INTEGER, OUT INTEGER); CREATE OR REPLACE FUNCTION test_func( OUT ret1 INTEGER, OUT ret2 INTEGER, OUT ret3 INTEGER ) AS '/Work/9.2/Extender.so', 'test_func' LANGUAGE C IMMUTABLE STRICT;
■実行結果(空値が戻ります)
-bash-4.2$ psql postgres=# select * FROM test_func(); ret1 | ret2 | ret3 ------+-----------+------- | |
■テンプレート
#include <postgres.h> #include <string.h> #include <funcapi.h> #include <utils/acl.h> #include <utils/geo_decls.h> #include <utils/builtins.h> #ifdef PG_MODULE_MAGIC PG_MODULE_MAGIC; #endif /* PG_MODULE_MAGIC */ PG_FUNCTION_INFO_V1(test_func); test_func(PG_FUNCTION_ARGS){ fcinfo->arg[0] = 1; fcinfo->arg[1] = 2; fcinfo->arg[2] = 3; PG_RETURN_NULL(); }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。