Обсуждение: execute in pl/pgsql

Поиск
Список
Период
Сортировка

execute in pl/pgsql

От
Dino Vliet
Дата:
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

Re: execute in pl/pgsql

От
Tom Lane
Дата:
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

Re: execute in pl/pgsql

От
Dino Vliet
Дата:
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