oracle 数据库之间 表数据的 迁移

主要是 需要将 正式环境的数据库 和测试环境的数据库的 表 数据同步一下,方便测试。 这样的效果, 可以使用 数据库的 备份 , exp imp 等其他的方式, 可是这样的方式, 需要 在 电脑里面 安装 oracle 客户端, 本人比较懒。 所以 就使用这样的方式了。 其实 速度不慢, 而且 简单快速

-- 创建 连接 	
   create database link dblink_newTest  
  connect to bms identified by bms 
  using '(DESCRIPTION =  
    (ADDRESS_LIST =  
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.12.21.81)(PORT = 1521))  
    )  
    (CONNECT_DATA =  
      (SERVICE_NAME =orcl)  
    )  
  )';  
  	
  -- SELECT * FROM HR_EFF_LEADER_HI@dblink_newTest 远程查询  其他库的 数据 
  --备份, 需要将 原来的表的数据 删除 (看具体情况)
    INSERT INTO HR_EFF_LEADER_HI  SELECT * FROM HR_EFF_LEADER_HI@dblink_newTest

我测试过了 , 如果想 要 多表 的 话, 百度 一下 , 没有 解决的办法。。。反正目前我是不知道 有什么多表的方式。

我的想法是:

 -- 多表 
     INSERT INTO HR_EFF_LEADER_HI,HR_EFF_LEADER  SELECT * FROM HR_EFF_LEADER_HI,HR_EFF_LEADER@dblink_newTest
     
     
     -- 模糊查询表名   , 然后  循环 -- 将 对应的表的 内容 给 删除 -- 然后  执行 单表的 备份 即可。
select table_name from user_tables where table_name like '%HR_EFF_LEADER%'

因为单表 可以解决, 如果是 多表的话, 自己可以 写一个 数据库的函数, 模糊查询出来 或者 定义的函数 需要迁移的某些 表, 然后 循环 执行 单表的 上面的 数据迁移的方式即可。 或者 说 使用 程序 Java 或者其他语言也可以的。如果不需要 写 数据库 的自定义函数的话。

本人 从来没有 试过些 SQL 函数, 虽然看得懂别人的函数, 可是自己写,搞了半天 都 报语法错误, SQL的 函数 出错了,调试 很麻烦, 错误提示 很难理解 。 反正我是 使用 Java代码 写一个 方法 多表 执行的, 而且 可以 很方便 的 写 一些 自己想要的效果, 如果用SQL函数,头疼啊。。。DBA 或者大神 可以 自己 写SQL函数啊, 应该更快吧。。

转载于:https://my.oschina.net/ouminzy/blog/870624

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值