PL/SQL Developer:导出建表语句

在 PL/SQL Developer 里导出建表语句、视图这些对象,最简单直接的办法就是用"导出用户对象"功能,它会把选中的表、视图、序列、存储过程等一次性生成一个.sql 脚本文件。

🗂️ 工具导出

  1. 打开工具:登录 PL/SQL Developer,连接到目标数据库。

  2. 选择功能:点击菜单栏 工具 → 导出用户对象。

  3. 勾选对象:在弹出的窗口里,勾选需要导出的表、视图、序列等。如果不勾选,默认导出当前用户下的所有对象。

  4. 设置选项:建议勾选"包括所有者",这样导出的脚本里会带上用户名,导入到其他库时能自动对应;不勾选则脚本不带所有者,适合导入到不同用户下。

  5. 导出文件:选择输出路径和文件名(.sql 格式),点击"导出"即可。

> 这个方法导出的是对象结构(建表、建视图语句),不含表里的数据。如果要连数据一起导出,需要用下面的"导出表"功能。

📄 导出表结构+数据

如果想连表里的数据一起导出,用另一个功能:

  1. 点击 工具 → 导出表。

  2. 选择要导出的表。

  3. 在"SQL Inserts"选项卡里,勾选"创建表"选项(这样会生成建表语句),再按需选择是否导出数据。

  4. 指定输出文件路径,点击导出。

如果只需要表结构不想要数据,可以在"Where 子句"里写 `WHERE ROWNUM<1`,这样只生成建表语句。

⚙️ 用脚本导出 DDL(更灵活)

除了图形界面,也可以用 Oracle 自带的 `DBMS_METADATA` 包来生成精确的建表、建视图语句,适合批量处理或自动化:

```sql

SET LONG 100000;

SET PAGESIZE 0;

SET FEEDBACK OFF;

SET ECHO OFF;

-- 导出所有表的建表语句

SELECT DBMS_METADATA.GET_DDL('TABLE', table_name) FROM USER_TABLES;

-- 导出所有视图的创建语句

SELECT DBMS_METADATA.GET_DDL('VIEW', view_name) FROM USER_VIEWS;

```

执行前记得先设置 `SET LONG 100000`,否则长的 DDL 会被截断。

> 用 `DBMS_METADATA` 导出的 DDL 默认会带上 `STORAGE`、`TABLESPACE` 等物理属性,如果不需要,可以执行 `EXECUTE DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM, 'STORAGE', FALSE);` 关闭。

🔄 导入到其他库

导出的.sql 文件,可以在 PL/SQL Developer 里打开 文件 → 新建 → 命令窗口,粘贴进去执行;或者用 SQL*Plus 直接 `@文件名.sql` 跑一遍就行。

相关推荐
念念不忘 必有回响1 小时前
MySQL 事务与隔离级别完全指南
数据库·mysql
JosieBook2 小时前
【WinForm 代码反脆弱系列】04 数据库操作 —— 连接字符串、连接对象与连接池
数据库·oracle
小蒜学长2 小时前
基于SpringBoot+Vue的小学数学智能出题系统(代码+数据库+LW)
java·数据库·spring boot·后端·智能出题系统
71-32 小时前
MySQL密码重置
数据库·笔记·学习·mysql
锅里游的鱼吖3 小时前
echarts自定义折线图
前端·javascript·数据库
酷虎软件3 小时前
视频加标题字幕 API 接口文档
java·数据库·mysql
夜雪一千3 小时前
MySQL 触发器有哪些应用场景?从入门场景到避坑实战
数据库·mysql
lusklusklusk3 小时前
Oracle数据库基础之6_外部表临时表分区表_物化视图_约束的介绍
数据库·oracle
智商偏低3 小时前
【无标题】
服务器·数据库·oracle