您的位置:首页 > 数据库 > Oracle

oracle使用dblink和cursor更新不同数据库的记录

2013-05-20 13:09 435 查看
一、部分SQL文件内容:

drop public database link sde_link;

create public database link sde_link connect to "sde" identified by "sde" using 'zcserver';

select zdid from sde.nzhxm@sde_link nzhxm;

declare

cursor cursor1 IS select t.zdid as zdid from sde.zdxm@sde_link t where (t.zdid is not null or t.zdid <> '' or t.zdid <> ' ');

zdid sde.zdxm.zdid@sde_link%TYPE;

begin

if not cursor1%isopen then

open cursor1;

end if;

loop

fetch cursor1 into zdid;

exit when cursor1%notfound;

update sde.zdxm@sde_link t set t.xmbh = (select dk.sdxmid from zcgt.cbgl_info_zddk dk where dk.id = zdid);

end loop;

close cursor1;

commit;

end;

二、bat文件内容

rem 更新[**********updata_gdxm_xmbh.sql**********]

sqlplus sde/sde@zcserver @updata_gdxm_xmbh.sql

rem 更新[**********updata_zdxm_xmbh.sql**********]

sqlplus sde/sde@zcserver @updata_zdxm_xmbh.sql

rem 更新[**********updata_nzhxm_xmbh.sql**********]

sqlplus sde/sde@zcserver @updata_nzhxm_xmbh.sql

rem 结束

pause
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐