dblink_build_sql_delete
Эта страница переведена при помощи нейросети GigaChat.
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. Каждое поле представлено в текстовой форме.
Возвращаемое значение
Возвращает запрошенную инструкцию SQL в виде текста.
Примечания
Начиная с версии 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)