在sql/plus中可调用dbms_metadata.get_ddl()函数来查看数据库对象的ddl,
便于显示,先设置如下参数:
1
2
3
4
5
|
set
line 200;
--设置行宽为200字符
set
pagesize 0;
--设置每页的行数为0,(避免分页)
set
long 99999;
--设置长类型显示字节数
set
feedback
off
;
--关闭回显处理记录行数
set
echo
off
;
--设置运行命令是不显示语句
|
获取对象ddl:
1
2
3
4
5
6
7
8
|
SELECT
DBMS_METADATA.GET_DLL(
'TABLE'
,
'TABLE_NAME'
,
'TABLE_OWNER'
)
FROM
DUAL;
SELECT
DBMS_METADATA.GET_DLL(
'VIEW'
,
'VIEW_NAME'
,
'VIEW_OWNER'
)
FROM
DUAL;
SELECT
DBMS_METADATA.GET_DLL(
'INDEX'
,
'INDEX_NAME'
,
'INDEX_OWNER'
)
FROM
DUAL;
SELECT
DBMS_METADATA.GET_DLL(
'FUNCTION'
,
'FUNCTION_NAME'
,
'FUNCTION_OWNER'
)
FROM
DUAL;
SELECT
DBMS_METADATA.GET_DLL(
'PROCUDURE'
,
'PROCUDURE_NAME'
,
'PROCUDURE_OWNER'
)
FROM
DUAL;
SELECT
DBMA_METADATA.GET_DLL(
'TABLESPACE'
,
'TABLESPACE_NAME'
)
FROM
DUAL;
SELECT
DBMS_METADATA.GET_DLL(
'USER'
,
'USER_NAME'
)
FROM
DUAL;
|
获取schema下的所有对象的ddl:
1
2
3
4
5
6
7
8
|
SELECT
DBMS_METADATA.GET_DLL(
'TABLE'
,u.table_name,u.owner)
FROM
DBA_TABLES u;
SELECT
DBMS_METADATA.GET_DLL(
'VIEW'
,u.view_name,u.owner)
FROM
DBA_VIEWS u;
SELECT
DBMS_METADATA.GET_DLL(
'INDEX'
,u.index_name,u.owner)
FROM
DBA_INDEXS u;
SELECT
DBMS_METADATA.GET_DLL(
'FUNCTION'
,u.object_name,u.owner)
FROM
DBA_OBJECTS u
WHERE
OBJECT_TYPE=
'FUNCTION'
;
SELECT
DBMS_METADATA.GET_DLL(
'PROCUDURE'
,u.object_name,u.owner)
FROM
DBA_OBJECTS u
WHERE
OBJECT_TYPE=
'PROCUDURE'
;
SELECT
DBMS_METADATA.GET_DLL(
'TABLESPACE'
,u.tablespace_name)
FROM
DBA_TABLESPACES u;
SELECT
DBMS_METADATA.GET_DLL(
'USER'
,u.user_name)
FROM
DBA_USERS u;
|
本文转自 天黑顺路 51CTO博客,原文链接:http://blog.51cto.com/mjal01/1977839,如需转载请自行联系原作者