Oracle中获取TABLE的DDL语句的方法
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,获取表的DDL的方法在获取表的DDL的时候,可以使用多种方法进行获取:1、利用 DBMS_METADATA.GET_DDL,获取表的 DDL 语句2、imp.indexfile3、impdp.sqlf
千家信息网最后更新 2025年01月23日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安全错误
数据库的锁怎样保障安全
彩票双色球分析软件开发制作教程
广东运营软件开发中心
大唐网络技术公司
redis数据库日志不记录
服务器 并发数 计算
国产数据库一体机
盗取数据库信息牟利
淘宝用的数据库
网络安全圈子的理解
小程序添加数据到数据库
达梦数据库json函数
网络安全主要从事哪些工作
网络安全空间学什么待遇如何
家里办公如何安全接入服务器
中山东路租房软件开发
设立网络安全周的意义
江北区提供软件开发流程代理商
软件开发试点
什么叫企业软件开发业务需求
龙岩有软件开发公司吗
安全模式 网络安全
vivo手机天谕服务器
昭通市政府网络安全和信息化
网络安全大赛ctf成员
宽带网管理服务器
中职计算机网络技术有出路吗
内蒙古学生网络技术咨询常见问题
机关单位网络安全重要性
青岛崂山区软件开发公司
区块链保障网络安全宣传周