pgsql variables from records

Поиск
Список
Период
Сортировка
От karly@kipshouse.org
Тема pgsql variables from records
Дата
Msg-id 20060317112123.A11005@kipshouse.org
обсуждение исходный текст
Список pgsql-general
SunWuKung <Balazs.Klein@axelero.hu> 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=
> 999 And parameter_name='max_option'
>
> and so on for each parameter.
>
> Is there a way to get all these parameters into one variable in pgsql -
> eg. Select Into paramarray(param_name, param_value) parameter_name,
> parameter_value Where methodid=999 - and refer to their values in a
> simple way like param_array.max_option ?
>
> Thanks for the help.
> Balázs

В списке pgsql-general по дате отправления:

Предыдущее
От: "Merlin Moncure"
Дата:
Сообщение: Re: efficiency of group by 1 order by 1
Следующее
От: Andrew Stewart
Дата:
Сообщение: Strange startup error