如何使用 pl/sql 脚本导出 oracle sql 开发人员表模式?

Posted

技术标签:

【中文标题】如何使用 pl/sql 脚本导出 oracle sql 开发人员表模式?【英文标题】:How do I export oracle sql developer table schema by using pl/sql scripts? 【发布时间】:2020-09-16 07:51:37 【问题描述】:

每个人都知道如何使用导出向导导出表架构, 但是如何使用 pl/sql 脚本导出它们?

例如, 我想导出所有以“SYS”开头的表模式(例如:SYS_ROLE、SYS_USER_ROLE、SYS_USER 等) 非常感谢!!

【问题讨论】:

你的意思是导出DDL,还是导出数据?你想出口到哪里? PL/SQL 只在数据库服务器上运行;除非您将脚本的字符输出假脱机到日志文件,否则您不能直接“导出”到客户端。 通常你会通过在 OS 脚本中调用 expdp 来导出 - *nix 的 shell 脚本,Windblows 的 cmd 脚本。为什么要在 PL/SQL 中执行此操作?为什么要导出 SYS 模式?我认为你采取了错误的方法来解决错误的问题。 【参考方案1】:

几点。

    DBMS_DATAPUMP 可用于从 PLSQL 导出,但输出导出转储文件将驻留在 Oracle 数据库实例可直接访问的位置。

    SYS“表”主要是视图。你可以试试VIEWS_AS_TABLES 选项DBMS_DATAPUMP。或者在另一个模式中创建表,然后导出这些表,例如:

CREATE TABLE myuser.sys_users AS SELECT * FROM sys.all_users

然后导出 MYUSERS 架构。

    SQL Developer 导出将正在查看的数据网格中的数据作为本地文件以多种格式写入。我不确定,但 SQLCI 也使用 SQL Developer 命令处理。在 SQLCI 中,您可以将输出设置为多种格式,包括 CSV,理解与 SQLCI 相同的命令。

在此处查看此页面:

https://oracle-base.com/articles/misc/sqlcl-format-query-results-with-the-set-sqlformat-command

因此,尽管不是 PLSQL,但您可以将查询编写为 SQL 脚本,将适当的 SQLFORMAT 选项、SPOOL 设置为本地文件,这样就可以了。您也可以尝试在 SQL*Developer 中运行它,看看它是否有效。

【讨论】:

以上是关于如何使用 pl/sql 脚本导出 oracle sql 开发人员表模式?的主要内容,如果未能解决你的问题,请参考以下文章

使用pl/sql的导入表工具导入dmp文件时,导入报错:遇到ORACLE错误 12546,请问怎么解决阿

Oracle 到 Excel - PL/SQL 导出过程

导出应用程序 oracle apex

利用PL/SQL从Oracle数据库导出和导入数据

使用PL/SQL连接oracle数据库,并将数据进行导出备份和导入恢复

借助PL/SQL Developer将Oracle某用户数据表导出