Stored procedures PL/SQL vs存储过程vs ORM vs脚本语言。哪一个是编写数据迁移脚本的最佳选择??

Stored procedures PL/SQL vs存储过程vs ORM vs脚本语言。哪一个是编写数据迁移脚本的最佳选择??,stored-procedures,plsql,oracle11g,orm,data-migration,Stored Procedures,Plsql,Oracle11g,Orm,Data Migration,我需要写一个数据迁移脚本。需要使用join从某些表中读取记录,并将它们迁移到位于不同架构中的另一个表中。我正在使用Oracle数据库11g。现在只有30000多条记录。 通过浏览Google,我遇到了一些术语,如PL/SQL、存储过程或使用ORM或任何脚本语言的独立应用程序。 我只想知道哪种方法是编写迁移脚本最有效的方法,以及选择背后的确切利弊。 请原谅我的英语!另外,如果这个问题显得多余和无聊!!……:) 寻求你的建议。 谢谢传输的数据不多;我会尝试在数据库链接上插入INSERT;大概是这样的

我需要写一个数据迁移脚本。需要使用join从某些表中读取记录,并将它们迁移到位于不同架构中的另一个表中。我正在使用Oracle数据库11g。现在只有30000多条记录。 通过浏览Google,我遇到了一些术语,如PL/SQL、存储过程或使用ORM或任何脚本语言的独立应用程序。 我只想知道哪种方法是编写迁移脚本最有效的方法,以及选择背后的确切利弊。 请原谅我的英语!另外,如果这个问题显得多余和无聊!!……:) 寻求你的建议。
谢谢

传输的数据不多;我会尝试在数据库链接上插入
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
  );
除非我打错了,否则就这么简单了

或者,您可以使用我上面写的
Select
语句,使用CTAS(createtable As Select)创建一个表,如下所示

create table to_be_moved as
  select a.id, b.name, ...;
在此处导出它(使用原始EXP实用程序,因为它在本地创建DMP文件),然后在此处导入它(使用IMP实用程序)。如果你需要更多的帮助

或者,您甚至可以
SELECT
语句的结果假脱机到一个TXT文件中,然后使用SQL*Loader实用程序将其加载到远程数据库中


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

您知道什么语言?如果不在混合中添加一种新的语言,数据迁移已经够困难的了。我在考虑像Hibernate/eclipseLink这样的ORM,像python这样的脚本语言。但是现在没事了。简单的SQL脚本就足够了,因为记录的大小很小。这证明了旧XP格言的价值:尝试可能工作的最简单的事情。只有当这不起作用时,我们才应该开始寻找更复杂的解决方案或新技术。非常感谢@Littlefoot。您的回复肯定帮助我做出了决定。我要用SQL。不客气!