Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PostgreSQL Новый топик    Ответить
 как в plpgsql воткнуть WITH?  [new]
бабушкин зайчик
Member

Откуда: сетевой
Сообщений: 210
вот я в цикле делаю:
FOR row IN (
SELECT col
,lag(added, 1) OVER (ORDER BY added) AS prev_added
FROM tbl
ORDER BY added
)


а надо добавить колонку next_added, поэтому хочу этот запрос пихнуть в WITH, а после него делать:
FOR row IN (
SELECT *
,lag(added, 1) OVER (ORDER BY added DESC) AS next_added

FROM cte
ORDER BY added DESC
)


но получаю ошибку... как быть?

Сообщение было отредактировано: 11 июн 21, 13:45
11 июн 21, 13:54    [22334393]     Ответить | Цитировать Сообщить модератору
 Re: как в plpgsql воткнуть WITH?  [new]
Maxim Boguk
Member

Откуда: Melbourne, Австралия
Сообщений: 4785
бабушкин зайчик,

Вы ни вашего кода не привели целиком ни текста ошибки.
Поэтому где у вас проблема - не понятно.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
11 июн 21, 13:59    [22334396]     Ответить | Цитировать Сообщить модератору
 Re: как в plpgsql воткнуть WITH?  [new]
бабушкин зайчик
Member

Откуда: сетевой
Сообщений: 210
ОШИБКА:  ошибка синтаксиса (примерное положение: "FOR")
СТРОКА 48: FOR row IN (


код:
WITH cte AS(...)

FOR row IN ...


Сообщение было отредактировано: 11 июн 21, 14:29
11 июн 21, 14:37    [22334441]     Ответить | Цитировать Сообщить модератору
 Re: как в plpgsql воткнуть WITH?  [new]
Misha111
Member

Откуда:
Сообщений: 55
бабушкин зайчик,

ce2pg2=> select version();
version
------------------------------------------------------------------------------------------------------------------
PostgreSQL 12.7 (Debian 12.7-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
(1 строка)


ce2pg2=> DO
ce2pg2-> $$declare
ce2pg2$> e_cur record;
ce2pg2$> begin
ce2pg2$> for e_cur in (with cte as (select 1 a) select * from cte ) loop
ce2pg2$> raise notice '%', e_cur.a;
ce2pg2$> end loop;
ce2pg2$> END$$;
NOTICE: 1
DO
11 июн 21, 14:54    [22334455]     Ответить | Цитировать Сообщить модератору
 Re: как в plpgsql воткнуть WITH?  [new]
бабушкин зайчик
Member

Откуда: сетевой
Сообщений: 210
Misha111, а блин, точно, туплю
11 июн 21, 15:09    [22334463]     Ответить | Цитировать Сообщить модератору
Все форумы / PostgreSQL Ответить