下記サイトを見て、複数行を返すテーブル値関数を作成しているのですが、
1レコードしか返らず困っています。
https://postgresql.g.hatena.ne.jp/iakio/20080513/1210682637
pl/pgsql
1 2 SELECT tb.* FROM t_data tb 3 WHERE tb.aa= p_(変数); 4 5
上記は2レコード返すのですが、テーブル値関数にすると、1レコードしか返しません。
pl/pgsql
1declare 2 rec RECORD; 3 w_rsltcnt integer; 4begin 5(省略) 6 SELECT tb.* INTO rec FROM t_data tb 7 WHERE tb.aa= p_(変数); 8 9 10if found then 11 GET DIAGNOSTICS w_rsltcnt = ROW_COUNT; 12RAISE NOTICE 'Calling w_rsltcnt(%)',w_rsltcnt; 13else 14RAISE NOTICE 'Calling w_rsltcnt(%)',-999; 15-- return -999; 16end if; 17
上記では、1レコードしかセットされず、メッセージは、Calling w_rsltcnt(1)となります。
2レコード(複数レコード)を返す方法を教えてください。
postgresqlのバージョンは 9.3.4です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。