Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как узнать какие записи обновились или были созданы новые / 2 сообщений из 2, страница 1 из 1
17.07.2017, 11:39
    #39490037
an2k
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать какие записи обновились или были созданы новые
Есть запрос:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
insert into marks (mk_guid, mk_st_guid, mk_mark5)
  select mk_guid, mk_st_guid, mk_mark5
    from dblink('dbname=main',
      'select mk_guid, mk_st_guid, mk_mark5 from marks limit 10')
  as t (mk_guid character(36),
         mk_st_guid character varying(36),
         mk_mark5 integer)
  on conflict (mk_guid) do update set
    mk_guid = excluded.mk_guid,
    mk_st_guid = excluded.mk_st_guid,
    mk_mark5 = excluded.mk_mark5;


он выбирает данные из одной базы и записывает их в другую, причем если возникает конфлик уникальности ключа mk_guid, вместо insert делается update.

Вопрос: после того как операция закончится, как узнать какие id были созданы или изменены?
...
Рейтинг: 0 / 0
17.07.2017, 11:50
    #39490052
jan2ary
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать какие записи обновились или были созданы новые
an2k,

https://www.postgresql.org/docs/9.6/static/sql-insert.html
The optional RETURNING clause causes INSERT to compute and return value(s) based on each row actually inserted (or updated, if an ON CONFLICT DO UPDATE clause was used).
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как узнать какие записи обновились или были созданы новые / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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