欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Oracle輕松取得建表和索引的DDL語句

 更新時間:2007年04月02日 00:00:00   作者:  
我們都知道在9i之前,要想獲得建表和索引的語句是一件很麻煩的事。我們可以通過export with rows=no來得到,但它的輸出因為格式的問題并不能直接拿來用。而另一種方法就是寫復(fù)雜的腳本來查詢數(shù)據(jù)字典,但這對于一稍微復(fù)雜的對象,如IOT和嵌套表等,還是無法查到。
  從數(shù)據(jù)字典中獲得DDL語句是經(jīng)常要用的,特別是在系統(tǒng)升級/重建的時候。在Oracle 9i中,我們可以直接通過執(zhí)行dbms_metadata從數(shù)據(jù)字典中查處DDL語句。使用這個功能強大的工具,我們可以獲得單個對象或整個SCHEMA的DDL語句。最好不過的是因為它使用起來很簡單。

  1、獲得單個表和索引DDL語句的方法:

復(fù)制代碼 代碼如下:

  set heading off;   
  set echo off;   
  Set pages 999;   
  set long 90000; 
   
    
   
  spool get_single.sql   
  select dbms_metadata.get_ddl('TABLE','SZT_PQSO2','SHQSYS') from dual;   
  select dbms_metadata.get_ddl('INDEX','INDXX_PQZJYW','SHQSYS') from dual;  
  spool off;  

  下面是輸出。我們只要把建表/索引語句取出來在后面加個分號就可以直接運行了。

復(fù)制代碼 代碼如下:

  SQL> select dbms_metadata.get_ddl('TABLE','SZT_PQSO2','SHQSYS') from dual; 
   
      
  CREATE TABLE "SHQSYS"."SZT_PQSO2"    
  ( "PQBH" VARCHAR2(32) NOT NULL ENABLE,    
  "ZJYW" NUMBER(10,0),    
  "CGSO" NUMBER(10,0) NOT NULL ENABLE,    
  "SOLS" VARCHAR2(17),    
  "SORQ" VARCHAR2(8),    
  "SOWR" VARCHAR2(8),    
  "SOCL" VARCHAR2(6),    
  "YWHM" VARCHAR2(10),    
  "YWLX" VARCHAR2(6)    
  ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING    
  STORAGE(INITIAL 1048576 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645    
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)    
  TABLESPACE "DATA1"      
  SQL> select dbms_metadata.get_ddl 
    ('INDEX','INDXX_PQZJYW','SHQSYS') from dual;   
  CREATE INDEX "SHQSYS"."INDXX_PQZJYW" ON "SHQSYS"."SZT_PQSO2" ("ZJYW")    
  PCTFREE 10 INITRANS 2 MAXTRANS 255    
  STORAGE(INITIAL 1048576 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645    
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)    
  TABLESPACE "DATA1"    
  SQL>    
  SQL> spool off;  


  2、獲得整個SCHEMA DDL語句的方法:

 
復(fù)制代碼 代碼如下:

 set pagesize 0   
  set long 90000   
  set feedback off   
  set echo off    
  spool get_schema.sql    
  connect shqsys/shqsys@hawk1;   
  SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name) 
  FROM USER_TABLES u; 
  SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name)   
  FROM USER_INDEXES u;   
  spool off;  


  需要注意的是,當(dāng)我們的表中有外健(參照約束)時,我們需要判別參照表之間的順序,確保重建時按照合理的順序進(jìn)行。你可以通過查詢dba_constraints and dba_cons_columns來確定各表之間的順序,不再詳述 

相關(guān)文章

  • Oracle中查詢表結(jié)構(gòu)的6種方法總結(jié)

    Oracle中查詢表結(jié)構(gòu)的6種方法總結(jié)

    工作中查看oracle表結(jié)構(gòu)經(jīng)常會遇到,下面這篇文章主要給大家介紹了關(guān)于Oracle中查詢表結(jié)構(gòu)的6種方法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • Oracle重建控制文件的實例教程

    Oracle重建控制文件的實例教程

    前些天在做Oracle數(shù)據(jù)庫恢復(fù)測試時,因為一些異常操作導(dǎo)致控制文件出了問題,數(shù)據(jù)庫無法正常使用,下面這篇文章就來給大家介紹了關(guān)于Oracle重建控制文件的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧
    2018-05-05
  • Mybatis出現(xiàn)ORA-00911: invalid character的解決辦法

    Mybatis出現(xiàn)ORA-00911: invalid character的解決辦法

    今天在項目中,使用Mybatis對oracle數(shù)據(jù)庫進(jìn)行操作的時候,報出ORA-00911: invalid character的錯誤,檢查了一下SQL,發(fā)現(xiàn)都書寫正確啊,復(fù)制到plsql上執(zhí)行也都沒問題,這什么原因呢,下面通過本文給大家解答下
    2016-12-12
  • Oracle的四道經(jīng)典面試題分享

    Oracle的四道經(jīng)典面試題分享

    這篇文章主要給大家介紹了關(guān)于Oracle的四道經(jīng)典面試題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Oracle具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 淺析Oracle體系結(jié)構(gòu)

    淺析Oracle體系結(jié)構(gòu)

    這篇文章主要介紹了Oracle體系結(jié)構(gòu)的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Oracle SID存在解決方法

    Oracle SID存在解決方法

    如果有個別DLL文件無法刪除的情況,則不用理會,重新啟動,開始新的安裝
    2009-06-06
  • oracle查看字符集和修改字符集使用詳解

    oracle查看字符集和修改字符集使用詳解

    這篇文章主要介紹了oracle查看字符集和修改字符集的使用詳解,需要的朋友可以參考下
    2014-02-02
  • Oracle多表級聯(lián)更新詳解

    Oracle多表級聯(lián)更新詳解

    我們在平時的工作中可能遇到過,多表級聯(lián)更新,我也在網(wǎng)上看到過不少的方法,但是使用這些方法一般都沒成功過,所以今天我給大家介紹一種稍微麻煩的方法,有需要的朋友可以參考下
    2013-07-07
  • Oracle LogMiner的使用實例代碼

    Oracle LogMiner的使用實例代碼

    這篇文章主要給大家分享了關(guān)于Oracle LogMiner的使用實例代碼,文中通過示例代碼介紹了關(guān)于查詢當(dāng)前日志組、業(yè)務(wù)用戶插入操作、歸檔日志切換、業(yè)務(wù)用戶插入操作以及歸檔日志切換等等的相關(guān)功能,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07
  • Oracle中游標(biāo)Cursor的用法詳解

    Oracle中游標(biāo)Cursor的用法詳解

    本文詳細(xì)講解了Oracle中游標(biāo)Cursor的用法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05

最新評論