Вход в личный кабинет

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

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

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

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

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

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

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

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


Postgres Pro
  • Компания
    О компании Руководство Документы Партнёры Вакансии Контакты
  • Продукты
    СУБД POSTGRES PRO ENTERPRISE СУБД POSTGRES PRO ENTERPRISE CERTIFIED СУБД POSTGRES PRO CERTIFIED СУБД POSTGRES PRO STANDARD СУБД PostgreSQL для Windows План разработок
  • Услуги
    Техподдержка СУБД Аудит СУБД Миграция СУБД
  • Клиенты
    Нам доверяют Отзывы
  • Образование
    Документация Книги Учебные курсы Сертификация Курсы для ВУЗов Глоссарий Демо-база Списки рассылки
  • Новости
    СМИ о нас Дайджест Postgresso Мероприятия Контакты для СМИ
  • RU
  • EN
  • ⋮
  • RU
  • EN
  • ⋮


Postgres Pro Standard
14 13 12 11 10 9.6 9.5
Postgres Pro Enterprise
14 13 12 11 10 9.6
PostgreSQL
14 13 12 11 10 9.6 9.5 9.4
Postgres Pro Standard
14 13 12 11 10 9.6 9.5
Postgres Pro Enterprise
14 13 12 11 10 9.6
PostgreSQL
14 13 12 11 10 9.6 9.5 9.4
Postgres Pro Standard
14 13 12 11 10 9.6 9.5
Postgres Pro Enterprise
14 13 12 11 10 9.6
PostgreSQL
14 13 12 11 10 9.6 9.5 9.4


dblink_build_sql_update
Пред. НаверхF.10. 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.11. dict_int
Есть вопросы? Напишите нам!
персональных данных
✖
Postgres Pro
VK
© Postgres Pro
Политика кофиденциальности
Пользовательское соглашение
Лицензионное соглашение
Лицензионное соглашение (при использовании в составе облачных сервисов)
Кодекс поведения сообщества PostgreSQL
  • Продукты
    • Postgres Pro Standard
    • Postgres Pro Certified
    • Postgres Pro Enterprise
    • Postgres Pro Enterprise Certified
    • Postgres Pro для 1С
    • PostgreSQL для Windows
  • Образование
    • Документация
    • Учебные курсы
    • Книги
    • Сертификация специалистов
    • Курсы для вузов
    • Обучение PostgreSQL
    • Глоссарий
  • Услуги
    • Техподдержка СУБД
    • Миграция СУБД
    • Аудит СУБД
Write Close