📜  oracle 获取 ddl - SQL (1)

📅  最后修改于: 2023-12-03 15:18:09.758000             🧑  作者: Mango

Oracle 获取 DDL - SQL

在 Oracle 数据库中,DDL(数据定义语言)包括创建表、修改表结构、删除表等操作。有时候我们需要获取一个表的 DDL 语句,以备份或重建数据库使用。下面介绍几个获取 Oracle 表的 DDL 的方式。

方法一:使用 Oracle SQL Developer
  1. 打开 Oracle SQL Developer,连接目标数据库。
  2. 在左边的导航栏中选择要获取 DDL 的表,右键选择“导出”- “DDL”。
  3. 在弹出的窗口中,选择所需的 DDL 选项,如存储过程、触发器、索引等,点击“下一步”。
  4. 选择输出文件路径及文件名,点击“完成”按钮,即可导出 DDL 文件。

下面是 SQL Developer 导出表 DDL 的示意图和代码片段:

SQL-Developer-DDL

1. 打开 Oracle SQL Developer,连接目标数据库。
2. 在左边的导航栏中选择要获取 DDL 的表,右键选择“导出”- “DDL”。
3. 在弹出的窗口中,选择所需的 DDL 选项,如存储过程、触发器、索引等,点击“下一步”。
4. 选择输出文件路径及文件名,点击“完成”按钮,即可导出 DDL 文件。
方法二:使用 PL/SQL Developer
  1. 打开 PL/SQL Developer,连接目标数据库。
  2. 在左边的目录树中找到要获取 DDL 的表,右键选择“属性”或“DDL...”菜单项。
  3. 在弹出的窗口中,选择所需的 DDL 选项,点击“生成”按钮,即可生成 DDL 语句。

下面是 PL/SQL Developer 生成表 DDL 的示意图和代码片段:

PL-SQL-Developer-DDL

1. 打开 PL/SQL Developer,连接目标数据库。
2. 在左边的目录树中找到要获取 DDL 的表,右键选择“属性”或“DDL...”菜单项。
3. 在弹出的窗口中,选择所需的 DDL 选项,点击“生成”按钮,即可生成 DDL 语句。
方法三:使用 SQL*Plus
  1. 打开命令行工具,使用 SQL*Plus 连接数据库。
  2. 执行以下语句获取表 DDL:
SET LONG 1000000
SET LINESIZE 200
SET PAGESIZE 0
SET TRIMSPOOL ON
SPOOL D:\table.sql --替换成具体的输出路径

SELECT DBMS_METADATA.GET_DDL('TABLE',table_name, owner)  from all_tables where table_name = 'EMPLOYEES' and owner = 'HR';

SPOOL OFF;

下面是 SQL*Plus 获取表 DDL 的代码片段:

1. 打开命令行工具,使用 SQL*Plus 连接数据库。
2. 执行以下语句获取表 DDL:

```sql
SET LONG 1000000
SET LINESIZE 200
SET PAGESIZE 0
SET TRIMSPOOL ON
SPOOL D:\table.sql --替换成具体的输出路径

SELECT DBMS_METADATA.GET_DDL('TABLE',table_name, owner)  from all_tables where table_name = 'EMPLOYEES' and owner = 'HR';

SPOOL OFF;