• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    軟件測試開發技術Oracle 9i輕松取得建表和索引的DDL語句

    發布: 2009-9-16 12:09 | 作者: 不詳 | 來源: 領測軟件測試網 | 查看: 22次 | 進入軟件測試論壇討論

    領測軟件測試網 軟件測試開發技術Oracle 9i輕松取得建表和索引的DDL語句 Oracle數據庫

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

    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;
      下面是輸出。我們只要把建表/索引語句取出來在后面加個分號就可以直接運行了。

    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語句的方法:

    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;
      需要注意的是,當我們的表中有外。▍⒄占s束)時,我們需要判別參照表之間的順序,確保重建時按照合理的順序進行。你可以通過查詢dba_constraints and dba_cons_columns來確定各表之間的順序,不再詳述。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: DDL oracle Oracle ORACLE 軟件測試 索引 語句


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>