使用 Toad 在 PL/SQL 中进行数据迁移
Posted
技术标签:
【中文标题】使用 Toad 在 PL/SQL 中进行数据迁移【英文标题】:Data Migration in PL/SQL with Toad 【发布时间】:2018-11-13 05:09:28 【问题描述】:我是PL/SQL的初学者,我必须用它来进行数据迁移。
我们正在建立一个新的人力资源管理系统。所以,我们想要:
提取旧系统的所有数据 用 PL/SQL 编辑它 将其导出为 XML 文件(之后另一个团队会将 XML 文件加载到新系统中)我们必须编辑列名、列类型、员工 ID 等,以使所有数据都适合新系统。
谁能解释我执行此操作的步骤,显示链接或类似示例。
【问题讨论】:
迁移到PL/SQL之前使用的现有数据库是什么? 如果你使用的是sql server请看这个链接oracle.com/webfolder/technetwork/tutorials/obe/db/hol08/… 嗨,我建议将数据导出为 CSV 文件并使用脚本语言将 CSV 转换为 XML 文件。所以你可能有很好的灵活性。如 DB-->CSV 文件-->XML 文件 嗨,你可以阅读很多链接,检查这个asktom.oracle.com/pls/apex/… 目标(新)数据库也是Oracle数据库吗? 【参考方案1】:这个答案请记住,您正在使用 oracle 数据库来提取数据并创建 xml 文件
要从数据库表中提取数据到 xml,您有多种选择
-
使用 Sql
例子:-
SELECT XMLElement( "DEPARTMENT" , department_name ) FROM departments WHERE department_id IN (10, 20);
输出
<DEPARTMENT>Administration</DEPARTMENT> <DEPARTMENT>Marketing</DEPARTMENT>
2.使用PLSQL
使用 plsql XMLTYPE 构造函数 使用 DBMS_XMLGEN 包 使用 dbms_xmldom 包使用 XMLTYPE 构造函数和 DBMS_XMLGEN 包,您可以快速轻松地创建简单的 XML 文档。当您需要创建更高级的 XML 文档或想要更好地控制 XML 文档的外观时,可以使用 DBMS_XMLDOM。 DBMS_XMLDOM 包有点复杂,因为您必须通过调用包的函数和过程来创建整个文档。
参考以下2篇文章
Generating XML from SQL and PL/SQL – Part 1
Generating XML from SQL and PL/SQL – Part 2
将 xml 写入您可以使用的文件中
Oracle Spool如果您使用 sql 生成
xml UTL_FILE包如果你使用plsql生成xml
【讨论】:
谢谢Dimuthu,但问题不在于数据提取,而在于数据转换。我必须在两者之间修改列类型、国家标签等.. 这不仅仅用于数据提取。但是,如果您仔细查看这些示例,您可以将旧列名转换为新列名(在新系统的 Xml 中)如果您有旧数据库和新数据库列之间的映射,则只需编写这些例子中给定的逻辑。建议你使用 dbms_xmldom 包以上是关于使用 Toad 在 PL/SQL 中进行数据迁移的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Toad 中使用 PL/SQL 提交 HTML 表单?
如何以与 toad 相同的方式在 PL/SQL 中导出数据库对象?
Toad Oracle Pl/sql 调试作为从断点跳转到断点
如何使用 Toad 工具显示 sys_refcursor 输出 pl sql