Re: SELECT INTO array[i] with PL/pgSQL

Поиск
Список
Период
Сортировка
От Edoardo Panfili
Тема Re: SELECT INTO array[i] with PL/pgSQL
Дата
Msg-id 4D506CDF.9000905@aspix.it
обсуждение исходный текст
Ответ на SELECT INTO array[i] with PL/pgSQL  (Julia Jacobson <julia.jacobson@arcor.de>)
Ответы Re: SELECT INTO array[i] with PL/pgSQL  (Dmitriy Igrishin <dmitigr@gmail.com>)
Список pgsql-general
On 07/02/11 22.15, Julia Jacobson wrote:
> Dear PostgreSQL community,
>
> Please consider the following minimal example:
>
> CREATE TABLE example (row_id SERIAL, value TEXT);
> INSERT INTO example(value) VALUES ('val1');
> INSERT INTO example(value) VALUES ('val2');
> INSERT INTO example(value) VALUES ('val3');
>
> CREATE OR REPLACE FUNCTION foo()
> RETURNS TEXT
> AS
> $$
> DECLARE
> a TEXT;
> b TEXT[];
> i INT;
> BEGIN
> FOR i in 1..3 LOOP
> SELECT INTO a value FROM example WHERE row_id=i; -- This works
> b[i] := a; -- perfectly!
> -- SELECT INTO b[i] value FROM example WHERE row_id=i; Doesn't work!
> END LOOP;
> RETURN b[2];
> END;
> $$
> LANGUAGE 'plpgsql';

this one seems work...

CREATE OR REPLACE FUNCTION foo()
RETURNS TEXT
AS
$$
DECLARE
   b TEXT[];
   i INT;
BEGIN
   FOR i in 1..3 LOOP
     b[i]:= value FROM example WHERE row_id=i;
   END LOOP;
     RETURN b[2];
END;
$$
LANGUAGE 'plpgsql';


Edoardo

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

Предыдущее
От: Julia Jacobson
Дата:
Сообщение: SELECT INTO array[i] with PL/pgSQL
Следующее
От: Jorge Arévalo
Дата:
Сообщение: How to improve this query?