如何使用 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,请问怎么解决阿