Thread: execute in pl/pgsql
Hi, In my pl/pgsql procedure I have the following line: execute 'copy cancella to ' || location || ' with delimiter as \',\''; Location is a string that gives the absolute pathname. It's obvious what I'm aiming for, but this still gives an error because of the two '' I'm missing around the location var. That's why I'm getting this error message: NOTICE: location is hier /usr/local/pgsql/data/plpgtrainin10.txt ERROR: syntax error at or near "/" at character 18 QUERY: copy cancella to /usr/local/pgsql/data/plpgtrainin10.txt with delimiter as ',' CONTEXT: PL/pgSQL function "perform" line 16 at execute statement How can I solve it? I've tried a few things but keep getting this error. Thanks __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
Dino Vliet <dino_vliet@yahoo.com> writes: > In my pl/pgsql procedure I have the following line: > execute 'copy cancella to ' || location || ' with > delimiter as \',\''; quote_literal(location) would work much better and more safely. regards, tom lane
Solved:-) Thanks for your aanswer, now I can go further with exploring pl/pgsql. Looks nice. Brgds --- Tom Lane <tgl@sss.pgh.pa.us> wrote: > Dino Vliet <dino_vliet@yahoo.com> writes: > > In my pl/pgsql procedure I have the following > line: > > > execute 'copy cancella to ' || location || ' with > > delimiter as \',\''; > > quote_literal(location) would work much better and > more safely. > > regards, tom lane > > ---------------------------(end of > broadcast)--------------------------- > TIP 9: In versions below 8.0, the planner will > ignore your desire to > choose an index scan if your joining column's > datatypes do not > match > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com