Jun 7

Oracle获取表的定义

admin , 17:11 , 数据库 » 数据库(EnterpriseDb) , 评论(0) , 引用(0) , 阅读(4159) , Via 本站原创 | |
搜索
我已经获得阿里云幸运券,准备分享给您。请点击获取  

1 desc 表

2通过DBMS_METADATA.GET_DDL函数取得对象的创建语法,这在很多性能调优的场合中需要用到。 

SQL> desc DBMS_METADATA

OBJECT_TYPE:表示对象类型,可以是表格,索引,视图,物化视图,存储过程等,获得存储过程方法可以参考metalink doc [ID 468760.1]
NAME:对象名
SCHEMA:对象所在用户名

使用 dbms_metadata.get_ddl( ):如
select dbms_metadata.get_ddl('TABLE',u.table_name) from user_tables u;

 

如果不想在语法中出现STORAGE属性,可以在会话级别中设置

SET LONG 2000000
SET PAGESIZE 0
EXECUTE DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'STORAGE',false);
SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name)
FROM USER_INDEXES u ;
EXECUTE DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'DEFAULT');