powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / JOIN не присоединяет добавленную запись в этом же запросе
2 сообщений из 2, страница 1 из 1
JOIN не присоединяет добавленную запись в этом же запросе
    #39181219
Всем привет!

Пытаюсь в одном запросе добавить запись в таблицу и вычитать эту добавленную запись. Запись добавляется, но новую запись JOIN не подцепляет.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
-- Тестовая таблица
create table tmp_addtable (
	id serial,
	val integer
);


WITH foo AS(
	  insert into tmp_addtable(val) values(random()*1000) returning id as new_id
)
SELECT 
	foo.*,   --    <-- id добавленной записи
	v.*       --    <-- Все поля = NULL
FROM  foo
LEFT JOIN tmp_addtable v ON v.id=foo.new_id



-- Подчищаем за собой
drop table tmp_addtable;



Подскажите, пожалуйста, чем объясняется такое поведение пг (что почитать)?
...
Рейтинг: 0 / 0
JOIN не присоединяет добавленную запись в этом же запросе
    #39181234
Alexius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
keep calm and love pg,

http://www.postgresql.org/docs/current/static/queries-with.html

All the statements are executed with the same snapshot (see Chapter 13), so they cannot "see" one another's effects on the target tables.
This alleviates the effects of the unpredictability of the actual order of row updates, and means that RETURNING data is the only way to communicate changes between different WITH sub-statements and the main query.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / JOIN не присоединяет добавленную запись в этом же запросе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]