PL/SQL 对比存储过程对比 ORM 对比脚本语言。写数据迁移脚本最好选择哪一个??

PL/SQL vs Stored Procedure Vs ORM Vs Scripting language. Which one is the best choice to write data migration script??

我需要写一个数据迁移脚本。需要使用连接从一些 table 中读取记录并将它们迁移到另一个驻留在不同架构中的 table。我正在使用 Oracle 数据库 11g。仅现在就有30000+条记录。 通过浏览 Google,我遇到了一些术语,例如 PL/SQL、存储过程或使用 ORM 或任何脚本语言的独立应用程序。 我只想知道哪一个是编写迁移脚本最有效的方法以及 pick 背后的精确优缺点。 请原谅我的英语!另外,如果这个问题看起来多余且无聊! .. :) 寻求您的建议。 谢谢

传输的数据量不大;我会尝试在 数据库 link 上使用 INSERT;像这样:

create database link dbl_rookie
  connect to remote_user
  identified by its_password
  using 'tns_admin alias for the remote database';

insert into remote_table@dbl_rookie
  (id, name, address, phone)
  (select a.id, b.name, b.address, a.phone
   from person a join details b on a.id = b.id
   where cb_active = 1
  );

除非我打错了,否则就这么简单。

或者,您可以使用 CTAS 创建一个 table(Create Table As Select)使用相同的 SELECT 我上面写的语句,as

create table to_be_moved as
  select a.id, b.name, ...;

导出 此处(使用原始 EXP 实用程序,因为它会在本地创建 DMP 文件)并导入它 那里(使用 IMP 实用程序)。说明您是否需要额外的帮助。

或者,您甚至可以 spoolSELECT 语句的结果放入 TXT 文件中,然后使用 SQL 将其加载到远程数据库中*加载程序实用程序。

如您所见,有很多选项,我们甚至没有放弃纯粹的 SQL(更不用说其他人可能建议的其他选项)。