Oracle中获取TABLE的DDL语句的方法
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,获取表的DDL的方法在获取表的DDL的时候,可以使用多种方法进行获取:1、利用 DBMS_METADATA.GET_DDL,获取表的 DDL 语句2、imp.indexfile3、impdp.sqlf
千家信息网最后更新 2025年11月11日Oracle中获取TABLE的DDL语句的方法
获取表的DDL的方法
在获取表的DDL的时候,可以使用多种方法进行获取:
1、利用 DBMS_METADATA.GET_DDL,获取表的 DDL 语句
2、imp.indexfile
3、impdp.sqlfile
1、利用 DBMS_METADATA.GET_DDL,获取表的 DDL 语句
方法1:
SQL PLUS中执行:
首先运行set echo offset heading offset feedback offset verify offset pagesize 0set linesize 132define schema=&1输入schema的名字然后执行:define CR=chr(10)define TAB=chr(9)col x noprintcol y noprintSELECT TABLE_NAME Y ,0 X ,'CREATE TABLE ' || RTRIM(TABLE_NAME) || '('FROM DBA_TABLESWHERE OWNER = UPPER('&schema')UNIONSELECT TC.TABLE_NAME Y ,COLUMN_ID X ,DECODE(COLUMN_ID, 1, ' ', ' ,') || RTRIM(COLUMN_NAME) || &TAB || &TAB || RTRIM(DATA_TYPE) || RTRIM(DECODE(DATA_TYPE, 'DATE', NULL, 'LONG', NULL, 'NUMBER', DECODE(TO_CHAR(DATA_PRECISION), NULL, NULL, '('), '(')) || RTRIM(DECODE(DATA_TYPE, 'DATE', NULL, 'CHAR', DATA_LENGTH, 'VARCHAR2', DATA_LENGTH, 'NUMBER', DECODE(TO_CHAR(DATA_PRECISION), NULL, NULL, TO_CHAR(DATA_PRECISION) || ',' || TO_CHAR(DATA_SCALE)), 'LONG', NULL, '******ERROR')) || RTRIM(DECODE(DATA_TYPE, 'DATE', NULL, 'LONG', NULL, 'NUMBER', DECODE(TO_CHAR(DATA_PRECISION), NULL, NULL, ')'), ')')) || &TAB || &TAB || RTRIM(DECODE(NULLABLE, 'N', 'NOT NULL', NULL))FROM DBA_TAB_COLUMNS TC ,DBA_OBJECTS OWHERE O.OWNER = TC.OWNER AND O.OBJECT_NAME = TC.TABLE_NAME AND O.OBJECT_TYPE = 'TABLE' AND O.OWNER = UPPER('&schema')UNIONSELECT TABLE_NAME Y ,999999 X ,')' || &CR || ' STORAGE(' || &CR || ' INITIAL ' || INITIAL_EXTENT || &CR || ' NEXT ' || NEXT_EXTENT || &CR || ' MINEXTENTS ' || MIN_EXTENTS || &CR || ' MAXEXTENTS ' || MAX_EXTENTS || &CR || ' PCTINCREASE ' || PCT_INCREASE || ')' || &CR || ' INITRANS ' || INI_TRANS || &CR || ' MAXTRANS ' || MAX_TRANS || &CR || ' PCTFREE ' || PCT_FREE || &CR || ' PCTUSED ' || PCT_USED || &CR || ' PARALLEL (DEGREE ' || RTRIM(DEGREE) || ') ' || &CR || ' TABLESPACE ' || RTRIM(TABLESPACE_NAME) || &CR || '/' || &CR || &CRFROM DBA_TABLESWHERE OWNER = UPPER('&schema')ORDER BY 1 ,2;方法2:
set pagesize 0set long 90000set feedback offset echo offspool table_ddl.sqlselect dbms_metadata.get_ddl('TABLE','tablename','username') from dual;select dbms_metadata.get_ddl('VIEW','viewname','username') from dual;select dbms_metadata.get_ddl('INDEX','indexname','username') from dual;spool off;2、imp.indexfile
1)先导出用户的数据[oracle@oracle11g ~]$ exp demo/demo file=test.dmp owner=demo log=test.log;2)从 dump 文件获取这些 DDL 语句[oracle@oracle11g ~]$ imp demo/demo file=test.dmp fromuser=demo touser=demo indexfile=test.sql;
3、impdp.sqlfile
导出用户数据[oracle@oracle11g ~]$ expdp demo/demo directory=DATA_PUMP_DIR dumpfile=sqlfile.dmp schemas=demo;获取 DDL 语句[oracle@oracle11g ~]$ impdp demo/demo directory=DATA_PUMP_DIR dumpfile=sqlfile.dmp sqlfile=demo.sql;
方法
语句
数据
用户
名字
多种
文件
时候
输入
运行
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发模式设计
南工院计算机网络技术
php sql数据库优化
一站式软件开发周期
潮州网络安全活动
国泰安数据库怎么导入股票代码
软件开发的公司能开什么票
软件开发区分析
四川手机软件开发外包
mysql数据库分布式
网络安全协议实验报告
软件开发的事业环境因素
哪种数据库多表关联性能最好
注册信息怎么传到服务器
代理服务器域名在哪里
华为刀片服务器报价
重庆诊疗软件开发
数据库节点的计算公式
成长安全系统服务器异常
软件开发其中小结
上轩网络技术有限公司
网络安全家园共育论文
2018第三季度网络安全
安防软件开发新三板
深圳mcu软件开发兼职
数据库系统的逻辑数据层次
网络技术考研有用吗
怎么更改服务器里的hosts
默认数据库安全吗
服务器安全狗+怎样