Thread: Bizzare plpgsql error
I'm getting this error trying to run a function: usps=# select process_zip4(); WARNING: Error occurred while executing PL/pgSQL function process_zip4 WARNING: line 55 at SQL statement ERROR: parser: parse error at or near "$1" at character 14 The relivant code is: IF z.record_type_code = ''P'' THEN INSERT INTO po_box SELECT z4.zip4_id , .... The INSERT INTO is line 55. What makes no sense is that it works fine if I change the name of the table from po_box to anything else. Any ideas? -- Jim C. Nasby (aka Decibel!) jim@nasby.net Member: Triangle Fraternity, Sports Car Club of America Give your computer some brain candy! www.distributed.net Team #1828 Windows: "Where do you want to go today?" Linux: "Where do you want to go tomorrow?" FreeBSD: "Are you guys coming, or what?"
On Tue, 27 May 2003, Jim C. Nasby wrote: > I'm getting this error trying to run a function: > > usps=# select process_zip4(); > WARNING: Error occurred while executing PL/pgSQL function process_zip4 > WARNING: line 55 at SQL statement > ERROR: parser: parse error at or near "$1" at character 14 > > The relivant code is: > > IF z.record_type_code = ''P'' THEN > INSERT INTO po_box > SELECT z4.zip4_id > , .... > > The INSERT INTO is line 55. What makes no sense is that it works fine if > I change the name of the table from po_box to anything else. Do you happen to have a declared variable named po_box? IIRC plpgsql gets confused sometimes when things like that are done.
Arg, yes, that's exactly it. On Tue, May 27, 2003 at 03:57:12PM -0700, Stephan Szabo wrote: > > On Tue, 27 May 2003, Jim C. Nasby wrote: > > > I'm getting this error trying to run a function: > > > > usps=# select process_zip4(); > > WARNING: Error occurred while executing PL/pgSQL function process_zip4 > > WARNING: line 55 at SQL statement > > ERROR: parser: parse error at or near "$1" at character 14 > > > > The relivant code is: > > > > IF z.record_type_code = ''P'' THEN > > INSERT INTO po_box > > SELECT z4.zip4_id > > , .... > > > > The INSERT INTO is line 55. What makes no sense is that it works fine if > > I change the name of the table from po_box to anything else. > > Do you happen to have a declared variable named po_box? IIRC > plpgsql gets confused sometimes when things like that are done. > > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Don't 'kill -9' the postmaster > -- Jim C. Nasby (aka Decibel!) jim@nasby.net Member: Triangle Fraternity, Sports Car Club of America Give your computer some brain candy! www.distributed.net Team #1828 Windows: "Where do you want to go today?" Linux: "Where do you want to go tomorrow?" FreeBSD: "Are you guys coming, or what?"