Server IP : 103.119.228.120 / Your IP : 52.15.185.147 Web Server : Apache System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64 User : nobody ( 99) PHP Version : 5.6.40 Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/doc/postgresql-9.2.24/html/ |
Upload File : |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >dblink_build_sql_update</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REV="MADE" HREF="mailto:pgsql-docs@postgresql.org"><LINK REL="HOME" TITLE="PostgreSQL 9.2.24 Documentation" HREF="index.html"><LINK REL="UP" TITLE="dblink" HREF="dblink.html"><LINK REL="PREVIOUS" TITLE="dblink_build_sql_delete" HREF="contrib-dblink-build-sql-delete.html"><LINK REL="NEXT" TITLE="dict_int" HREF="dict-int.html"><LINK REL="STYLESHEET" TYPE="text/css" HREF="stylesheet.css"><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"><META NAME="creation" CONTENT="2017-11-06T22:43:11"></HEAD ><BODY CLASS="REFENTRY" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="5" ALIGN="center" VALIGN="bottom" ><A HREF="index.html" >PostgreSQL 9.2.24 Documentation</A ></TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="top" ><A TITLE="dblink_build_sql_delete" HREF="contrib-dblink-build-sql-delete.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="10%" ALIGN="left" VALIGN="top" ><A HREF="dblink.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="60%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="20%" ALIGN="right" VALIGN="top" ><A TITLE="dict_int" HREF="dict-int.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="CONTRIB-DBLINK-BUILD-SQL-UPDATE" ></A >dblink_build_sql_update</H1 ><DIV CLASS="REFNAMEDIV" ><A NAME="AEN147888" ></A ><H2 >Name</H2 >dblink_build_sql_update -- builds an UPDATE statement using a local tuple, replacing the primary key field values with alternative supplied values </DIV ><DIV CLASS="REFSYNOPSISDIV" ><A NAME="AEN147891" ></A ><H2 >Synopsis</H2 ><PRE CLASS="SYNOPSIS" >dblink_build_sql_update(text relname, int2vector primary_key_attnums, integer num_primary_key_atts, text[] src_pk_att_vals_array, text[] tgt_pk_att_vals_array) returns text</PRE ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN147893" ></A ><H2 >Description</H2 ><P > <CODE CLASS="FUNCTION" >dblink_build_sql_update</CODE > can be useful in doing selective replication of a local table to a remote database. It selects a row from the local table based on primary key, and then builds a SQL <TT CLASS="COMMAND" >UPDATE</TT > command that will duplicate that row, but with the primary key values replaced by the values in the last argument. (To make an exact copy of the row, just specify the same values for the last two arguments.) The <TT CLASS="COMMAND" >UPDATE</TT > command always assigns all fields of the row — the main difference between this and <CODE CLASS="FUNCTION" >dblink_build_sql_insert</CODE > is that it's assumed that the target row already exists in the remote table. </P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN147900" ></A ><H2 >Arguments</H2 ><P ></P ><DIV CLASS="VARIABLELIST" ><DL ><DT ><TT CLASS="PARAMETER" >relname</TT ></DT ><DD ><P > Name of a local relation, for example <TT CLASS="LITERAL" >foo</TT > or <TT CLASS="LITERAL" >myschema.mytab</TT >. Include double quotes if the name is mixed-case or contains special characters, for example <TT CLASS="LITERAL" >"FooBar"</TT >; without quotes, the string will be folded to lower case. </P ></DD ><DT ><TT CLASS="PARAMETER" >primary_key_attnums</TT ></DT ><DD ><P > Attribute numbers (1-based) of the primary key fields, for example <TT CLASS="LITERAL" >1 2</TT >. </P ></DD ><DT ><TT CLASS="PARAMETER" >num_primary_key_atts</TT ></DT ><DD ><P > The number of primary key fields. </P ></DD ><DT ><TT CLASS="PARAMETER" >src_pk_att_vals_array</TT ></DT ><DD ><P > Values of the primary key fields to be used to look up the local tuple. Each field is represented in text form. An error is thrown if there is no local row with these primary key values. </P ></DD ><DT ><TT CLASS="PARAMETER" >tgt_pk_att_vals_array</TT ></DT ><DD ><P > Values of the primary key fields to be placed in the resulting <TT CLASS="COMMAND" >UPDATE</TT > command. Each field is represented in text form. </P ></DD ></DL ></DIV ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN147933" ></A ><H2 >Return Value</H2 ><P >Returns the requested SQL statement as text.</P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN147936" ></A ><H2 >Notes</H2 ><P > As of <SPAN CLASS="PRODUCTNAME" >PostgreSQL</SPAN > 9.0, the attribute numbers in <TT CLASS="PARAMETER" >primary_key_attnums</TT > are interpreted as logical column numbers, corresponding to the column's position in <TT CLASS="LITERAL" >SELECT * FROM relname</TT >. Previous versions interpreted the numbers as physical column positions. There is a difference if any column(s) to the left of the indicated column have been dropped during the lifetime of the table. </P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN147942" ></A ><H2 >Examples</H2 ><PRE CLASS="SCREEN" >SELECT dblink_build_sql_update('foo', '1 2', 2, '{"1", "a"}', '{"1", "b"}'); dblink_build_sql_update ------------------------------------------------------------- UPDATE foo SET f1='1',f2='b',f3='1' WHERE f1='1' AND f2='b' (1 row)</PRE ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="contrib-dblink-build-sql-delete.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="dict-int.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >dblink_build_sql_delete</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="dblink.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >dict_int</TD ></TR ></TABLE ></DIV ></BODY ></HTML >