2011-04-26 17 views

回答

0

我能想到的唯一方法是返回结果中已更改的列并将更改应用到两台服务器上。

create table test123 { 
    id serial primary key, 
    myvalue int4 
}; 

假设两台服务器的两个表中都有1到100的行。此语句更新您的行,并生成单个字符串结果,并使用更新语句在另一台服务器上执行。

update test123 set myvalue = rand() 
returning 'UPDATE test123 SET myvalue='||test123||' WHERE id='||id||';'; 

PS:未经测试,但应使用较小的语法修复。

1

你试过dblink?

SELECT INTO AFFECTED_ROW_COUNT_STRING 
DBLINK_EXEC('host=localhost port=5432 dbname=DBNAME user=USERNAME password=PASSWORD', 
'UPDATE TABLE SET COLUMN = VALUE '); 
相关问题