は、私はカーソルで使用するために私の関数にパラメータとしてテーブル名を渡す必要がありますこれを試しました:関数パラメータとしてカーソルのテーブル名を渡す方法は?</p> <pre><code>select myfunction('tableA'); </code></pre> <p>か::</p> <pre><code>select myfunction('tableB') </code></pre> <p>私が持っていると、その後のような関数を呼び出す - PostgreSQLの9.1では
create or replace function myfunction(sid text)
returns integer as $BODY$
declare
bids cursor is select id from sid; --line 4
begin
for bid in bids loop
--some logic
end loop;
return 1;
end;
$BODY$
language plpgsql volatile;
私はerror on line 4
を取得しています。そして、私はそれを理解しました。それは、休憩(選択、投影)が許されているところで、テーブル名を関数パラメータとして渡すことは許されていません。
これを実現する代替手段はありますか?
は、私はこれを試してみました。実際にはカーソルの入力を宣言ブロック内で使用したいと思います。 – Spike
@ Spike:これにカーソルを使用する方法をもう一度答えました。 –
うまく動作します。ありがとう。 – Spike