使用 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

用于格式化 Oracle PL/SQL 代码的标准 Toad 模板?

oracle数据库管理工具都有哪些?