Search Postgresql Archives

Re: pgsql variables from records

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



In article <20060317112123.A11005@xxxxxxxxxxxxx>, karly@xxxxxxxxxxxxx 
says...
> SunWuKung <Balazs.Klein@xxxxxxxxxx> wrote:
> > 
> > I have a table in which I am storing parameters that I would like to use 
> > as variables in a pgsql procedure.
> > 
> > Currently I find no other way to refer to these than to assign each 
> > record to a variable by a separate query like this:
> 
> I'm not sure if you are talking about referenceing the individual
> columns, or a set of rows.
> 
> For the first case
> 
> DECLARE
>    parameters  tp_method1_params;
> 
> BEGIN
> ....
> 
>    parameters := (SELECT param1, ...paramn) FROM paramtable;
> 
>    SELECT method(param1, ...paramn);
> 
> END;
> 
> Or you could declare the method to accapt the record as its input
> parameter.
> 
> For the second case, use an array.  I just learned how to do that
> on this list a couple of days ago.
> 
> 
> DECLARE
>    paramarray  tp_method_params[];
> 
> BEGIN
> ....
> 
>    paramarray := ARRAY(SELECT ....);
> 
> END;
> 
> I hope this answers the question you were asking.  {-;
> 
> -karl
> 
> > Declare
> > max_option integer;
> > 
> > Select Into max_option parameter_value From parameters Where methodid=

Its the second case.
Yes, arrays would be good, however I would need to refer to each value 
by its subscript number eg. 
Select * From sometable Where id=paramarray[1]
however in my case parameters have no logical order so I would like to 
refer to them by their id, like perl hashes eg.
Select * From sometable Where id=paramarray{'max_option'} 
(I know there is plperl but I've never tried that and I wouldn't want to 
learn it just for this.)
Maybe this can be done by creating a type and an operator for it - I 
don't know I have never tried those either. 



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux