一个简单的存储过程----高分求助

landyshouguo 2010-12-27 04:49:29
两个表结构都一样,不过两个表在不同的库里,现在要写个 简单的存储过程 将A表的数据 导入到B表中,现在在B库中建了一个A库的DBlink, 可以用DBlink来导入,请大家写个存储过程导入,另外再求大家给我动态SQL导入,

不过DBlink 导入效率太低,大家有啥办法?
...全文
99 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Oraclefans_ 2010-12-27
  • 打赏
  • 举报
回复

----大概写了下,不过还是建议使用exp/imp
create or replace procedure sysnfrom2db(fromtable in varchar2,
totable in varchar2,
o_ret out number,
o_msg out varchar2) as
v_dsql varchar2(1000);
v_isql varchar2(1000);
begin
v_dsql := 'truncate table ' || totable;
v_isql := 'insert into ' || totable || ' select * from ' || fromtable ||
'@dblinkname';
execute immediate v_dsql;
execute immediate v_isql;
commit;
exception
when others then
rollback;
o_ret := sqlcode;
o_msg := sqlerrm(sqlcode);
end;
心中的彩虹 2010-12-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 landyshouguo 的回复:]
两个表结构都一样,不过两个表在不同的库里,现在要写个 简单的存储过程 将A表的数据 导入到B表中,现在在B库中建了一个A库的DBlink, 可以用DBlink来导入,请大家写个存储过程导入,另外再求大家给我动态SQL导入,

不过DBlink 导入效率太低,大家有啥办法?
[/Quote]

看你用过程 那还不如数据泵 或者exp imp
小灰狼W 2010-12-27
  • 打赏
  • 举报
回复
exp/imp+shell
landyshouguo 2010-12-27
  • 打赏
  • 举报
回复
补充问题:每次导入之前 必须 将以前的数据删除了

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧