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 实用程序)。说明您是否需要额外的帮助。
或者,您甚至可以 spool 将 SELECT
语句的结果放入 TXT 文件中,然后使用 SQL 将其加载到远程数据库中*加载程序实用程序。
如您所见,有很多选项,我们甚至没有放弃纯粹的 SQL(更不用说其他人可能建议的其他选项)。
我需要写一个数据迁移脚本。需要使用连接从一些 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 实用程序)。说明您是否需要额外的帮助。
或者,您甚至可以 spool 将 SELECT
语句的结果放入 TXT 文件中,然后使用 SQL 将其加载到远程数据库中*加载程序实用程序。
如您所见,有很多选项,我们甚至没有放弃纯粹的 SQL(更不用说其他人可能建议的其他选项)。