[pgsql-jp: 33005] functionにてERROR: parser: parse error at or near "$1" と出力されます
Takashi Kikuchi
kikuchi @ jix.co.jp
2004年 5月 26日 (水) 19:11:03 JST
はじめまして菊地孝志と申します。
初歩的な質問かと思いますが、いろいろ探し回ったものの解決できないためご教授い
ただければと思います。
あるテーブルに子定数だけレコードを追加するというfunctionを作ろうとしていま
す。
CREATE FUNCTION自体は通過するのですが、実際に使用しようとすると下記のような
エラーが表示されます。
どのあたりに問題があるのでしょうか。
申し訳ありませんが、よろしくお願いいたします。
test=> SELECT f_zd_insert('00760', '0', '2004/5/26', 1000, 2, 5);
WARNING: Error occurred while executing PL/pgSQL function f_zd_insert
WARNING: line 11 at SQL statement
ERROR: parser: parse error at or near "$1" at character 54
作成したfanctionは下記の通りです。
CREATE OR REPLACE FUNCTION f_zd_insert (
varchar(5), varchar(1), date, int, int, int)
returns int as '
DECLARE
box_no int;
start int;
end_no int;
BEGIN
start := $5 + 1;
end_no := $5 + $6;
FOR box_no IN start .. end_no LOOP
INSERT INTO t_zaiko_detail (
control_no, branch_no, box_no, carry_date, page,
flg_check, flg_printed, status, consent)
VALUES (
$1, $2, trim(to_char(box_no, ''000'')), $3, $4,
false, false, 0, false);
END LOOP;
return true;
END;
' LANGUAGE 'plpgsql';
----
Takashi Kikuchi
kikuchi @ jix.co.jp
pgsql-jp メーリングリストの案内