私はストアドファンクションをバッチで複数回呼び出す必要があります。私はJOOQ 3.7.3とPostgreSQL 9.5を使用しています。私はselect [function call]
ステートメントをバッチで使用しようとしましたが、次の例外PSQLException: A result was returned when none was expected
がスローされます。JOOQでどのようにストアドファンクションをバッチで呼び出すのですか?
// exemplary 'select [function call]'
context.batch(context.select(Routines.foo(someParam))).execute();
私はバッチでJOOQで保存された関数を呼び出すための他の方法を発見しました。 raw JDBCでCallableStatementを使用することは可能ですので、JOOQでも可能であるはずです。
JOOQでストアドファンクションをバッチで呼び出すことは可能ですか?はいの場合、それを行う方法?
ストアド関数のシグネチャ:
create function foo(param1 int, param2 int) returns boolean as $$ ... $$ language plpgsql
あなたの関数の署名を(pgplsqlに)投稿できますか? –
@LukasEder done、 'boolean'値を返そうとしましたが、CallableStatementを使って特別な' call'構文でjdbcがストアドファンクションコールを処理できない場合があります。 –