1
GP 4.3.7で以下の手順を作成しました。レコードを返すときにregisterOutParameter()に設定するデータ型は何ですか?
CREATE OR REPLACE FUNCTION test.mytest(param varchar)
RETURNS SETOF record
LANGUAGE sql
AS
$body$
SELECT * from test.mytable;
$body$
VOLATILE;
私はJavaコード次のレジスタの出力paramは時に設定する必要がありますどのようなデータ型:
CallableStatement cstmt = conn.prepareCall("{call test.mytest(?, ?)}");
cstmt.setString(1, "abc");
cstmt.registerOutParameter(2, Types.VARCHAR);
cstmt.execute();
私は()のregisterOutParameterでのparamとして多くのデータタイプを試してみました。しかし、私は常に受信例外:
AのCallableStatementをパラメータ
の無効な数で実行されたが、誰もが私にいくつかのアドバイスを与えることができますがありますか?
ありがとうございました!
関数は複数の値または複数の行を返すことができると思いますか?さらに、1つのパラメータ 'param'でFunctionを宣言しましたが、2つのパラメータで呼び出しています。最後にキーワード 'Call'を使って関数を呼び出すことはできません。ストアドプロシージャを参照していますか? – Viki888