お世話になっております。
現在、SQLServerで書かれたストアドをpostgresqlのストアド(PL/pgSQL)に書き換える作業をしています。
その際に、SQLServerでいうところのテーブル変数がうまく書き換え出来ずに、詰まっています。
ご教示頂ければと思います。
やりたいこととしては、ストアド内でテーブル変数に値をpushしていき、場合によってはそのテーブル変数と他のテーブルをjoinするようなコードを書きたいです。
以下のようなイメージです。↓
CREATE FUNCTION public.test() RETURNS void AS $$ DECLARE -- sqlserverでいうテーブル変数のようなものを宣言 おそらくrecord型? recordhensu RECORD; -- 変数に追加する行の情報 gyou INTEGER; BEGIN -- レコード変数に行を追加していきたいが、方法がわからない。pushのようなメソッドがある? gyou := 1; rhensu.push(gyou); gyou := 2; rhensu.push(gyou); -- 他のテーブルと、レコード変数とをjoinしたものを取得 SELECT * FROM other_table INNER JOIN rhensu ON other_table.gyou = rhensu.gyou END; $$ LANGUAGE plpgsql;
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/16 02:57