powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / INSERT returned values into some table after UPDATE another table
2 сообщений из 2, страница 1 из 1
INSERT returned values into some table after UPDATE another table
    #40004353
westave
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня есть сайт объявлений с тремя таблицами: adverts, tags and taggings. В adverts я храню объявления (id, title, text, highlight), в tags у меня хранится список тегов (id, tag), в taggings я связываю объявления из adverts с тегами из tags (id, tag_id, advert_id).

Периодически определенным объявлениям я присваиваю значение highlight=true (UPDATE adverts SET highlight=TRUE WHERE {некое условие} RETURNING adverts.id), которое, соответственно, возвращает id всех измененных объявлений.

Как мне имея этот полученный список ID всех измененных объявлений сразу же присвоить им определенный тег, например с id=1234, то есть как сделать так:

INSERT INTO taggings(itag_id, advert_id) VALUES ('1234', advert_id= каждый из элементов возвращенных ранее в RETURNING)?
...
Рейтинг: 0 / 0
INSERT returned values into some table after UPDATE another table
    #40004446
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
westave,

Попробуйте через CTE:
Код: sql
1.
2.
3.
WITH upd AS (UPDATE adverts ... RETURNING id)
   INSERT INTO taggings (...)
   SELECT upd.id ... FROM upd;
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / INSERT returned values into some table after UPDATE another table
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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