中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

dbms_metadata怎么用

發布時間:2021-11-11 11:15:16 來源:億速云 閱讀:590 作者:小新 欄目:關系型數據庫

小編給大家分享一下dbms_metadata怎么用,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

dbms_metadata包中的get_ddl函數

1.得到一個表或索引的ddl語句

SELECT DBMS_METADATA.GET_DDL('TABLE','DEPT','SCOTT') FROM DUAL;

select dbms_metadata.get_ddl('INDEX','PK_DEPT','SCOTT') from dual;

2.得到一個用戶下的所有表,索引,存儲過程的ddl

SELECT DBMS_METADATA.GET_DDL(U.OBJECT_TYPE, u.object_name) 
FROM USER_OBJECTS u 
where U.OBJECT_TYPE IN ('TABLE','INDEX','PROCEDURE');

存儲過程:查看 存儲過程 的定義語句

SQL> SET LONG 9999 
SQL> select dbms_metadata.get_ddl('PROCEDURE','ANALYZEDB','NEWCCS') from dual; 
  CREATE OR REPLACE PROCEDURE "NEWCCS"."ANALYZEDB" 
IS 
   CURSOR get_ownertable 
   IS 
      SELECT table_name 
        FROM user_tables; 
   ownertable   get_ownertable%ROWTYPE; 
BEGIN 
   OPEN get_ownertable; 
   LOOP 
      FETCH get_ownertable 
       INTO ownertable; 
      EXIT WHEN get_ownertable%NOTFOUND; 
      EXECUTE IMMEDIATE    'analyze table ' 
                        || ownertable.table_name 
                        || ' compute statistics for table for all indexes for all indexed  columns'; 
   END LOOP; 
EXCEPTION 
   WHEN OTHERS 
   THEN 
      RAISE; 
END;

3.得到所有表空間的ddl語句

SELECT DBMS_METADATA.GET_DDL('TABLESPACE', TS.tablespace_name) 
FROM DBA_TABLESPACES TS;

4.得到所有創建用戶的ddl

SELECT DBMS_METADATA.GET_DDL('USER',U.username) 
FROM DBA_USERS U;

================================================================================

9i  中可以利用DBMS_METADATA.GET_DDL包得到數據庫的對象的ddl腳本。如下(SQLPLUS中執行):

a. 獲取單個的建表、視圖和建索引的語法

set pagesize 0 
set long 90000 
set feedback off 
set echo off 
spool DEPT.sql 
select dbms_metadata.get_ddl('TABLE','TAB_NAME','SCOTT') from dual; 
select dbms_metadata.get_ddl('VIEW','VIEW_NAME','SCOTT') from dual; 
select dbms_metadata.get_ddl('INDEX','IDX_NAME','SCOTT') from dual; 
spool off; 
   
b.獲取一個SCHEMA下的所有建表、視圖和建索引的語法,以scott為例: 
  
set pagesize 0 
set long 90000 
set feedback off 
set echo off 
spool schema.sql 
connect scott/tiger; 
SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name) FROM USER_TABLES u; 
SELECT DBMS_METADATA.GET_DDL('VIEW',u.VIEW_name) FROM USER_VIEWS u; 
SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name) FROM USER_INDEXES u; 
spool off;

c.    獲取某個SCHEMA的建全部存儲過程的語法 
  
set pagesize 0 
set long 90000 
set feedback off 
set echo off 
spool procedures.sql  
select   DBMS_METADATA.GET_DDL('PROCEDURE',u.object_name) from     user_objects u where     object_type = 'PROCEDURE'; 
spool off;

d.    獲取某個SCHEMA的建全部函數的語法 
  
set pagesize 0 
set long 90000 
set feedback off 
set echo off 
spool function.sql  
select   DBMS_METADATA.GET_DDL('FUNCTION',u.object_name) from     user_objects u where     object_type = 'FUNCTION'; 
spool off;

看完了這篇文章,相信你對“dbms_metadata怎么用”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

柯坪县| 九江市| 云梦县| 黔江区| 房产| 宽甸| 安仁县| 福鼎市| 家居| 琼结县| 聂拉木县| 宣威市| 阳高县| 万安县| 唐海县| 开平市| 曲麻莱县| 咸宁市| 砚山县| 新绛县| 兴山县| 澄江县| 玉龙| 盘锦市| 闽清县| 广丰县| 蒙阴县| 筠连县| 丹巴县| 宜宾市| 合江县| 团风县| 玉环县| 宁晋县| 彭州市| 衢州市| 弥渡县| 新余市| 册亨县| 上犹县| 沐川县|