`

ORACLE获取DDL(Create Table)的几种常用的方法(转载)

阅读更多
转自:http://hi.baidu.com/fuguoliang/blog/item/c4183fc64628d61e9c163da0.html
大体的分为三种方法:

一、可以通过toad、plsql develop等第三方工具进行导出DLL操作,用这种办法的好处在于操作简单方便,但需要安装,下面简单介绍一下用这两个工具获得DLL语句的操作。

二、直接通过EXP/IMP工具

Oracle提供的最原始最实用的导入导出工具,我们大体上可以分为三种办法实现导出DDL。

a. 通过imp指定indexfile参数,但这种办法不爽在于有每行前会有REM

语法大体如下:

exp userid=... tables=emp rows=n file=emp.dmp
imp userid=... file=emp.dmp indexfile=emp.sql

b. 通过imp指定show=y,同时指定log参数,格式上也不是很爽,在格式上很美观的还是通过工具导出的比较美观

语法大体如下:

exp userid=... tables=emp rows=n file= emp.dmp
imp userid=... file= emp.dmp show=y log=emp.sql

c. 利用unix下有strings命令,语法大体如下,这种方法比较野蛮:

exp userid=... tables=tab1 rows=n file=tab1.dmp
strings emp.dmp >emp.sql
emp.sql中就有DLL语句了

三、通过9i的DBMS_METADATA包得到DLL语句

基本上用到的语法如下:

a. 获取单个的建表和建索引的语法
set heading off;
set echo off;
Set pages 999;
set long 90000;

spool DEPT.sql
select dbms_metadata.get_ddl('TABLE','DEPT','SCOTT') from dual;
select dbms_metadata.get_ddl('INDEX','DEPT_IDX','SCOTT') from dual;
spool off;

b.获取一个SCHEMA下的所有建表和建索引的语法,以scott为例:

set pagesize 0
set long 90000
set feedback off

set echo off
spool scott_schema.sql
connect scott/tiger;
SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name) FROM USER_TABLES u;
SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name) FROM USER_INDEXES u;
spool off;

c. 获取某个SCHEMA的建全部存储过程的语法
connect brucelau /brucelau;
spool procedures.sql

select DBMS_METADATA.GET_DDL('PROCEDURE',u.object_name) from user_objects u where object_type = 'PROCEDURE';
spool off;


另:dbms_metadata.get_ddl('TABLE','TAB1','USER1')
三个参数中,第一个指定导出DDL定义的对象类型(此例中为表类型),第二个是对象名(此例中即表名),第三个是对象所在的用户名。
分享到:
评论

相关推荐

    oracle-自动获得表所有DDL(无缺陷)

    总的来说,这个脚本解决方案提供了一种高效且定制化的途径,帮助数据库管理员或开发人员快速准确地获取Oracle表的DDL信息,简化了日常工作流程。它强调了自动化和针对性,以满足特定的数据库管理需求,尤其是在处理...

    Oracle DDL,DML,DCL,TCL 基础概念

    ### Oracle DDL、DML、DCL、TCL 基础概念 ...通过以上介绍,我们可以看到 Oracle 数据库中 DDL、DML、DCL 和 TCL 这四种语言的基本概念及其使用方法。掌握这些基础知识对于有效地管理和操作 Oracle 数据库至关重要。

    Oracle的表结构转成Mysql的表结构

    本文介绍了一种将Oracle数据库中的表结构转换为MySQL数据库表结构的方法。通过编写一个PL/SQL函数`fnc_table_to_mysql`来实现这一目标。该函数可以接受四个参数,并生成对应的MySQL创建表语句(DDL)。 #### 参数...

    oracle 用表结构创建 type

    在Oracle数据库环境中,使用现有的表结构来创建Type是一种常见的需求,尤其当涉及到复杂的数据类型时。根据提供的文件信息,本文将详细介绍如何利用Oracle中的表结构自动生成Type,并深入探讨其中涉及的关键概念和...

    oracle常用问题解答

    ### Oracle常用问题解答知识点 #### 1. SQL & PL/SQL ##### 1.1 查询特殊字符,如通配符%与_ **问题**: 如何在Oracle中查询包含特殊字符如通配符%与_的数据? **解答**: 在Oracle中查询包含特殊字符如通配符%与_...

    4-Oracle数据定义语言(DDL).pptx

    "Oracle 数据定义语言(DDL)" ...本章节总结了 Oracle 数据定义语言(DDL)的基本知识,包括创建和管理 Oracle 表、命名规则、CREATE TABLE 语句、DEFAULT 选项、引用其他用户的表和 Oracle 的数据类型等。

    Oracle相关接口使用方法

    - `executeUpdate`方法执行插入、更新或删除(`INSERT`, `UPDATE`, `DELETE`)以及部分DDL语句(如`CREATE TABLE`, `DROP TABLE`)。需要注意的是,对于DDL语句,`executeUpdate`返回值通常为零。 - `execute`方法则...

    oracle 数据库常用的方法和错误总结

    **一、Oracle 数据库中的常用数据类型** 1. `VARCHAR2(长度)`:可变长度字符串,其中长度参数指定最大字符数。 2. `CHAR(长度)`:固定长度字符串,无论实际存储的数据是否达到指定长度,剩余位置都会用空格填充。 3...

    oracle常用sql整理

    本文将基于"oracle常用sql整理"的主题,深入探讨Oracle SQL的一些核心概念、语句及其实用技巧,适合初级到中级水平的学习者。 一、SQL基础 SQL是标准化的查询语言,分为DDL(Data Definition Language)、DML(Data...

    oracle常用SQL语句(汇总版).docx

    在本文中,我们将详细介绍 Oracle 中常用的 SQL 语句,包括数据控制语句(DML)、数据定义语句(DDL)和其他相关知识点。 一、数据控制语句(DML) 数据控制语句用于操作数据库中的数据,包括插入、删除、更新等...

    从Access数据库建立DDL语句

    生成的DDL语句通常包含`CREATE TABLE`语句,其中包含了表名、字段名、数据类型、约束条件等信息。例如: ```sql CREATE TABLE 表名 ( 字段1 字段类型 NOT NULL, 字段2 字段类型, ... PRIMARY KEY (主键字段), ...

    DDL_约束_思维导图

    思维导图是一种有效的学习和记忆方法,通过图形化的方式呈现信息,帮助我们理解和记忆DDL约束的概念。使用思维导图,可以清晰地展示各种约束之间的关系,以及它们在实际数据库设计中的应用场景。 **总结** 理解并...

    三、oracle数据定义ddl和dml.pptx

    本章重点讨论Oracle中的数据定义语言(DDL)和数据操纵语言(DML),这两种语言是数据库管理员和开发人员进行数据库设计和操作的基础。 首先,Oracle的主要数据类型包括Character、Number、Date、RAW和LongRaw以及...

    Oracle数据定义语言(DDL).pptx

    在Oracle中,创建表使用`CREATE TABLE`语句。 - 列名应遵循特定的命名规则,如以字母开头,长度1-30个字符,可以包含字母、数字、下划线、美元符号和井号,且在同一用户下不能重名,且不应与Oracle的保留字冲突。 ...

    DB2与ORACLE常用语句对照

    "DB2与ORACLE常用语句对照"的主题旨在帮助用户理解和转换这两种数据库系统中的SQL命令。下面将对一些常见的SQL语句和概念进行详细解释,以便于在两个系统间进行迁移或比较。 1. 数据定义语言(DDL): - 在Oracle中...

    oracle goldengate 单项复制配置(DDL)

    Oracle GoldenGate是一款由Oracle公司提供的数据复制工具,它能够实现异构数据库环境下的数据复制,包括Oracle到Oracle、Oracle到非Oracle以及非Oracle到Oracle的数据同步。其核心优势在于支持高可用性、高性能的...

    Oracle查看表结构的几种方法示例代码

    DBMS_METADATA.GET_DDL包提供了一种更详细的方法,可以获取创建表的完整DDL(Data Definition Language)语句。这包括了表的所有细节,如索引、存储参数和约束条件。如果表结构复杂,可能需要调整设置以显示完整...

Global site tag (gtag.js) - Google Analytics