Re: cannot use result of (insert .. returning)

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: cannot use result of (insert .. returning)
Дата
Msg-id 162867790808140059n47d35b74r445b5fa74f2e0e43@mail.gmail.com
обсуждение исходный текст
Ответ на cannot use result of (insert .. returning)  ("Dale Harris" <itsupport@jonkers.com.au>)
Ответы Re: cannot use result of (insert .. returning)  ("Dale Harris" <itsupport@jonkers.com.au>)
Список pgsql-general
Hello

you can wrap INSERT STATEMENT into function. Than you can do anything
with result;

create table f(a timestamp);

postgres=# select * from (insert into f values(current_timestamp)
returning *) x where x.a > now();
ERROR:  syntax error at or near "into"
LINE 1: select * from (insert into f values(current_timestamp) retur...
                              ^
create or replace function if() returns setof f as $$begin return
query insert into f values(current_timestamp) returning *; return;
end$$ language plpgsql;

postgres=# select * from if() where a > now();
 a
---
(0 rows)

regards
Pavel Stehule

2008/8/14 Dale Harris <itsupport@jonkers.com.au>:
> Hello,
>
>
>
> I'm having the same issues as dvs had in message thread
> http://archives.postgresql.org/pgsql-general/2008-05/msg01117.php as I want
> to be able to use the result from an INSERT INTO table(...) VALUES(...)
> RETURNING new_row_ID.
>
>
>
> I would ideally like to be able to capture the RETURNING value into a
> variable to use immediately.  Does anyone have a solution?
>
>
>
> Dale.

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

Предыдущее
От: "Dale Harris"
Дата:
Сообщение: Re: cannot use result of (insert .. returning)
Следующее
От: "Александр Чешев"
Дата:
Сообщение: PostgreSQL arrays and DBD