PL/pgSQLを実行したのですが
なぜこのエラーが発生したのかよくわかりません。
まずいかのようなテーブルとデータを作成しました 。
sql
1DROP TABLE IF EXISTS jinko; 2create table 3jinko( 4code char(12), 5name_ken char(12), 6jinko int 7); 8 9insert into jinko values 10('13','東京都','13000000'), 11('14','神奈川','9000000'), 12('27','大阪','8000000');
続いて
次のようなPL/pgSQLを作成し実行しました。
sql
1create or replace function func5_2() 2returns void as $$ 3 declare 4 var_code char(2); 5 var_name char; 6 jinko_cursor CURSOR FOR select code, name_ken FROM jinko; 7 8 begin 9 open jinko_cursor; 10 11 LOOP 12 fetch jinko_cursor into var_code, var_name; 13 if not found then 14 exit; 15 end if; 16 17 raise notice '都道府県コード=%,都道府県=%', var_code ,var_name; 18 END LOOP; 19 20 close jinko_cursor; 21 return; 22 23 end; 24 25 $$ language plpgsql; 26
作成までは問題なかったので
実行したのですがエラーがは発生しました。
ERROR: value too long for type character(1) CONTEXT: PL/pgSQL function func5_2() line 11 at FETCH SQL state: 22001
11行目?
なぜそこでループ文の行でtoo longなのでしょうか?
どなたかおわかりの方いらっしゃいませんでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。