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)