dblink_build_sql_insert — 使用一个本地元组构建一个 INSERT 语句,将主键域值替换为提供的值
dblink_build_sql_insert(text relname,
int2vector primary_key_attnums,
integer num_primary_key_atts,
text[] src_pk_att_vals_array,
text[] tgt_pk_att_vals_array) 返回 text
dblink_build_sql_insert
在选择性地将一个本地表复制到一个远程数据库时很有用。它基于主键从本地表选择一行,并且接着构建一个复制该行的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
要被替换到结果INSERT
命令中的主键域值。每一个域被表示为文本形式。
将要求的 SQL 语句返回为文本。
自PostgreSQL 9.0 开始,primary_key_attnums
中的属性号被解释为逻辑列号,对应于列在SELECT * FROM relname
中的位置。之前的版本将属性号解释为物理列位置。如果指示出的列的左边有任意列在该表的生存期内被删除,这两种解释就有区别。
SELECT dblink_build_sql_insert("foo", "1 2", 2, "{"1", "a"}", "{"1", "b""a"}");
dblink_build_sql_insert
--------------------------------------------------
INSERT INTO foo(f1,f2,f3) VALUES("1","b""a","1")
(1 row)
SQL ANDOR 运算符ANDOR 运算符用于基于一个以上的条件对记录进行过滤。SQL ANDOR 运算符 如果第一个条件和第二个条件都成立,则 ...
SQL 连接(Joins) SQL join 用于把来自两个或多个表的行结合起来。SQL JOIN SQL JOIN 子句用于把来自两个或多个表的行结合起来...
SQL Server DATEPART() 函数 SQL Server Date 函数定义和用法 DATEPART() 函数用于返回日期/时间的单独部分,比如年、月、日、小...
MySQL 是最流行的关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。 MySQL所使用的SQL语言是用于访问数据库...
截取字符串用法:substr(string string,num start,num length);select substr(参数1,参数2,参数3) from 表名st...