W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
dblink_build_sql_update — 使用一個(gè)本地元組構(gòu)建一個(gè) UPDATE 語句,將主鍵域值替換為提供的值
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) 返回 text
dblink_build_sql_update
在選擇性地將一個(gè)本地表復(fù)制到一個(gè)遠(yuǎn)程數(shù)據(jù)庫時(shí)很有用。它從本地表基于主鍵選擇一行,并且接著構(gòu)建一個(gè) SQL UPDATE
命令來復(fù)制該行,但是其中的主鍵值被替換為最后一個(gè)參數(shù)中的值(要?jiǎng)?chuàng)建該行的一個(gè)準(zhǔn)確拷貝,只要為最后兩個(gè)參數(shù)指定相同的值)。UPDATE
命令總是為該行的所有域賦值 —
這個(gè)函數(shù)與dblink_build_sql_insert
之間的主要區(qū)別是它假定目標(biāo)行已經(jīng)存在于遠(yuǎn)程表中。
relname
一個(gè)本地關(guān)系的名稱,例如foo
或者myschema.mytab
。如果該名稱是大小寫混合的或包含特殊字符,要包括雙引號,例如"FooBar"
;如果沒有引號,字符串將被折疊到小寫形式。
primary_key_attnums
主鍵域的屬性號(從 1 開始),例如1 2
。
num_primary_key_atts
主鍵域的數(shù)量。
src_pk_att_vals_array
要被用來查找本地元組的主鍵域值。每一個(gè)域都被表示為文本形式。如果沒有行具有這些主鍵值,則拋出一個(gè)錯(cuò)誤。
tgt_pk_att_vals_array
要用在結(jié)果UPDATE
命令中的主鍵域值。每一個(gè)域都被表示為文本形式。
將要求的 SQL 語句返回為文本。
自PostgreSQL 9.0 開始,primary_key_attnums
中的屬性號被解釋為邏輯列號,對應(yīng)于列在SELECT * FROM relname
中的位置。之前的版本將屬性號解釋為物理列位置。如果指示出的列的左邊有任意列在該表的生存期內(nèi)被刪除,這兩種解釋就有區(qū)別。
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)
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: