SELECT INTO array[i] with PL/pgSQL

Поиск
Список
Период
Сортировка
От Julia Jacobson
Тема SELECT INTO array[i] with PL/pgSQL
Дата
Msg-id 4D5060D4.2020904@arcor.de
обсуждение исходный текст
Ответы Re: SELECT INTO array[i] with PL/pgSQL  (Edoardo Panfili <edoardo@aspix.it>)
Re: SELECT INTO array[i] with PL/pgSQL  (Merlin Moncure <mmoncure@gmail.com>)
Список pgsql-general
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';

The error message indicates a problem with selecting values into an array.
I have read the documentation carefully and have done extensive web
search, but a more verbose error message and some additional explanation
would help me to understand the problem.
Is there a way to select values directly into an array without the
assignment from an additional variable?

Regards,
Julia

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

Предыдущее
От: Oleg Bartunov
Дата:
Сообщение: Re: fulltext search and hunspell
Следующее
От: Edoardo Panfili
Дата:
Сообщение: Re: SELECT INTO array[i] with PL/pgSQL