execute in pl/pgsql

Started by Dino Vlietover 19 years ago3 messagesgeneral
Jump to latest
#1Dino Vliet
dino_vliet@yahoo.com

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

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Dino Vliet (#1)
Re: execute in pl/pgsql

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

#3Dino Vliet
dino_vliet@yahoo.com
In reply to: Tom Lane (#2)
Re: execute in pl/pgsql

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