dblink_build_sql_delete

Name

dblink_build_sql_delete -- 使用已提供的值为主键字段值建立一个DELETE语句

Synopsis

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

Description

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)