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'); 13
実行したsqlは次です。
カーソルに該当する条件の際にselect文を実行しその実行したselectの内容を使用して標準出力にメッセージを表示できたらと思うのですが
sql
1create or replace function func5_5(char(12)) 2returns void as $$ 3 declare 4 jinko_cursor cursor(var_code char(12)) for select code,name_ken,jinko from jinko where code = var_code; 5 6 begin 7 for var_rec in jinko_cursor(var_code := $1) loop 8 if var_rec.code = '14' then 9 select name_ken where current of jinko_cursor; 10 raise notice '神奈川県'; 11 end if; 12 end loop; 13 14 return; 15 end; 16 17 $$ language plpgsql;
実行すると次のようなエラーが発生しました。
ERROR: column "name_ken" does not exist
LINE 1: select name_ken where current of jinko_cursor
^
QUERY: select name_ken where current of jinko_cursor
CONTEXT: PL/pgSQL function func5_5(character) line 8 at SQL statement
SQL state: 42703
name_kenは存在しないと言っています。
そんなことはないと思うですが・・・
回答2件
あなたの回答
tips
プレビュー