dblink_build_sql_delete
Название
dblink_build_sql_delete -- формирует оператор DELETE со значениями, передаваемыми для полей первичного ключаСинтаксис
dblink_build_sql_delete(text relname, int2vector primary_key_attnums, integer num_primary_key_atts, text[] tgt_pk_att_vals_array) returns text
Описание
Функция dblink_build_sql_delete
может быть полезна при избирательной репликации локальной таблицы с удалённой базой данных. Она формирует SQL-команду DELETE, которая удалит строку с заданными значениями первичного ключа.
Аргументы
- relname
Имя локального отношения, например foo или myschema.mytab. Заключите его в двойные кавычки, если это имя в смешанном регистре или содержит специальные символы, например "FooBar"; без кавычек эта строка приводится к нижнему регистру.
- primary_key_attnums
Номера атрибутов (начиная с 1) полей первичного ключа, например 1 2.
- num_primary_key_atts
Число полей первичного ключа.
- tgt_pk_att_vals_array
Значения полей первичного ключа, которые будут использоваться в результирующей команде DELETE. Каждое поле представляется в текстовом виде.
Замечания
Начиная с PostgreSQL 9.0, номера атрибутов в primary_key_attnums воспринимаются как логические номера колонок, соответствующие позициям колонок в SELECT * FROM relname. Предыдущие версии воспринимали эти номера как физические позиции колонок. Отличие этих подходов проявляется, когда на протяжении жизни таблицы из неё удаляются колонки левее указанных.
Примеры
SELECT dblink_build_sql_delete('"MyFoo"', '1 2', 2, '{"1", "b"}'); dblink_build_sql_delete --------------------------------------------- DELETE FROM "MyFoo" WHERE f1='1' AND f2='b' (1 row)
Пред. | Начало | След. |
dblink_build_sql_insert | Уровень выше | dblink_build_sql_update |