Thread: eval in plpgsl

eval in plpgsl

From
Mage
Date:
          Hello,

is there any variable variable syntax or function in plpgsql? I didn't
find it.

I mean something like: magic(''new.'' || TG_ARGV[0]) = 5;

       Mage



Re: eval in plpgsl

From
Bruce Momjian
Date:
Mage wrote:
>           Hello,
>
> is there any variable variable syntax or function in plpgsql? I didn't
> find it.
>
> I mean something like: magic(''new.'' || TG_ARGV[0]) = 5;

Uh, we have EXECUTE, but I don't know if will allow you to set a local
variable.  Maybe you can do:

    EXECUTE SELECT ''new.''|| TG_ARGV[0] INTO new var

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

Re: eval in plpgsl

From
Mage
Date:
Bruce Momjian wrote:

>
>Uh, we have EXECUTE, but I don't know if will allow you to set a local
>variable.  Maybe you can do:
>
>
execute doesn't support select into

       Mage



Re: eval in plpgsl

From
Jeff Eckermann
Date:
--- Mage <mage@mage.hu> wrote:
> Bruce Momjian wrote:
>
> >
> >Uh, we have EXECUTE, but I don't know if will allow
> you to set a local
> >variable.  Maybe you can do:
> >
> >
> execute doesn't support select into

It does, if you use the "for variablename in execute
..." syntax.  Which may seem like overkill for setting
just one value, but at least it will work for you.

Or you could investigate other procedural languages,
which may offer the capability you want.  I believe
pltcl does, and perhaps plpython also.

>
>        Mage
>
>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 7: don't forget to increase your free space map
settings


__________________________________
Do you Yahoo!?
Yahoo! Small Business $15K Web Design Giveaway
http://promotions.yahoo.com/design_giveaway/

Re: eval in plpgsl

From
Jan Wieck
Date:
Bruce Momjian wrote:

> Mage wrote:
>>           Hello,
>>
>> is there any variable variable syntax or function in plpgsql? I didn't
>> find it.
>>
>> I mean something like: magic(''new.'' || TG_ARGV[0]) = 5;
>
> Uh, we have EXECUTE, but I don't know if will allow you to set a local
> variable.  Maybe you can do:
>
>     EXECUTE SELECT ''new.''|| TG_ARGV[0] INTO new var
>

It does not. This really isn't a full blown scripting language. If one
wants that, there is PL/Tcl.


Jan

--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #