oracle数据和表迁移,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函数啊, 应该更快吧。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值