Вход в личный кабинет
Регистрация пользователя
согласие с обработкой персональных данных

Личный кабинет

✖
Восстановление пароля

Укажите e-mail, на который будет выслан код восстановления пароля.

Подтверждение аккаунта

На указанный вами адрес e-mail был выслан код подтверждения аккаунта. Введите полученный код для продолжения:

Изменение пароля

Введите новый пароль два раза:


Postgres Pro
  • Компания
    • О компании
    • Руководство
    • Документы
    • Партнёры
    • Карьера
    • Контакты
  • Продукты
    • СУБД POSTGRES PRO ENTERPRISE
    • СУБД POSTGRES PRO ENTERPRISE CERTIFIED
    • СУБД POSTGRES PRO CERTIFIED
    • СУБД POSTGRES PRO STANDARD
    • Postgres Pro Enterprise Manager
    • Postgres Pro Backup Enterprise
    • Postgres Pro Shardman
    • СУБД PostgreSQL для Windows
    • План разработок
    • Совместимые решения
  • Услуги
    • Техподдержка СУБД
    • Аудит СУБД
    • Миграция СУБД
    • Отказоустойчивость СУБД
    • Расширенная техническая поддержка
  • Клиенты
    • Кейсы
    • Отзывы
  • Образование
    • Книги
    • Курсы
      • Для DBA и разработчиков
      • Учебные центры
    • Сертификация
    • Вузам
      • Основы технологий баз данных
      • Язык SQL
    • Студентам
      • Программа стажировок
      • Конкурсы
    • Глоссарий
    • Демобаза
  • Новости
    • СМИ о нас
    • Дайджест Postgresso
    • Мероприятия
    • Технические анонсы
    • Для СМИ
  • Ресурсы
    • Документация
    • Материалы
    • How-to видео
    • Списки рассылки
  • RU
  • EN
  • ⋮
  • RU
  • EN
  • ⋮
Postgres Pro Standard
17 16 15 14 13 12 11 10 9.6 9.5
Postgres Pro Enterprise
17 16 15 14 13 12 11 10 9.6
PostgreSQL
17 16 15 14 13 12 11 10 9.6 9.5 9.4
Postgres Pro Standard
17 16 15 14 13 12 11 10 9.6 9.5
Postgres Pro Enterprise
17 16 15 14 13 12 11 10 9.6
PostgreSQL
17 16 15 14 13 12 11 10 9.6 9.5 9.4
Postgres Pro Standard
17 16 15 14 13 12 11 10 9.6 9.5
Postgres Pro Enterprise
17 16 15 14 13 12 11 10 9.6
PostgreSQL
17 16 15 14 13 12 11 10 9.6 9.5 9.4
dblink_build_sql_update
Пред. НаверхF.11. dblinkНачало След.

dblink_build_sql_update

dblink_build_sql_update — формирует оператор UPDATE из локального кортежа, заменяя значения первичного ключа переданными альтернативными значениями

Синтаксис

dblink_build_sql_update(text relname,
                        int2vector primary_key_attnums,
                        integer num_primary_key_atts,
                        text[] src_pk_att_vals_array,
                        text[] tgt_pk_att_vals_array) returns text

Описание

Функция dblink_build_sql_update может быть полезна при избирательной репликации локальной таблицы с удалённой базой данных. Она выбирает строку из локальной таблицы по заданному первичному ключу, а затем формирует SQL-команду UPDATE, дублирующую эту строку, но заменяющую в ней значения первичного ключа данными из последнего аргумента. (Чтобы получить точную копию строки, просто укажите одинаковые значения в двух последних аргументах.) Команда UPDATE всегда присваивает значения всем полям строки — основное отличие этой функции от dblink_build_sql_insert в том, что она предполагает, что целевая строка уже существует в удалённой таблице.

Аргументы

relname

Имя локального отношения, например foo или myschema.mytab. Заключите его в двойные кавычки, если это имя в смешанном регистре или содержит специальные символы, например "FooBar"; без кавычек эта строка приводится к нижнему регистру.

primary_key_attnums

Номера атрибутов (начиная с 1) полей первичного ключа, например 1 2.

num_primary_key_atts

Число полей первичного ключа.

src_pk_att_vals_array

Значения полей первичного ключа, по которым будет выполняться поиск локального кортежа. Каждое поле здесь представляется в текстовом виде. Если локальной строки с этими значениями первичного ключа нет, выдаётся ошибка.

tgt_pk_att_vals_array

Значения полей первичного ключа, которые будут помещены в результирующую команду UPDATE. Каждое поле представляется в текстовом виде.

Возвращаемое значение

Возвращает запрошенный SQL-оператор в текстовом виде.

Примечания

Начиная с PostgreSQL 9.0, номера атрибутов в primary_key_attnums воспринимаются как логические номера столбцов, соответствующие позициям столбцов в SELECT * FROM relname. Предыдущие версии воспринимали эти номера как физические позиции столбцов. Отличие этих подходов проявляется, когда на протяжении жизни таблицы из неё удаляются столбцы левее указанных.

Примеры

SELECT dblink_build_sql_update('foo', '1 2', 2, '{"1", "a"}', '{"1", "b"}');
                   dblink_build_sql_update
-------------------------------------------------------------
 UPDATE foo SET f1='1',f2='b',f3='1' WHERE f1='1' AND f2='b'
(1 row)

Пред. Наверх След.
dblink_build_sql_delete Начало F.12. dict_int
Есть вопросы? Напишите нам!
персональных данных
✖
Postgres Pro
VK
Youtube

© Postgres Pro
Правовая информация
  • Продукты
    • Postgres Pro Standard
    • Postgres Pro Certified
    • Postgres Pro Enterprise
    • Postgres Pro Enterprise Certified
    • Postgres Pro Enterprise Manager
    • Postgres Pro Shardman
    • Postgres Pro для 1С
    • PostgreSQL для Windows
  • Образование
    • Документация
    • Учебные курсы
    • Книги
    • Сертификация специалистов
    • Курсы для вузов
    • Обучение PostgreSQL
    • Глоссарий
  • Услуги
    • Техподдержка СУБД
    • Миграция СУБД
    • Аудит СУБД
    • Отказоустойчивость СУБД
Write Close