tinguo002

           

          oracle導(dǎo)出表結(jié)構(gòu)的幾種方法。

          1.在cmd中輸入 exp username/password@連接串

            回車,在進(jìn)入如下時(shí),輸入no,就ok了

            導(dǎo)出表數(shù)據(jù)(yes/no):yes> no

            2.

            進(jìn)入plsql

            找到table那個(gè)大項(xiàng),點(diǎn)出來,下邊會羅列出許多表

            右鍵點(diǎn)中你所需要的那個(gè)表名

            找到DBMS_Metadata

            然后選項(xiàng)里有ddl

            彈出來那個(gè)窗口就是你的表結(jié)構(gòu),拷貝出來直接在另一個(gè)庫里執(zhí)行就可以啦

            -----------------------------補(bǔ)充------------------------

            PLSQL里

            tools下

            export user objects of

            按shift批量選擇表

            執(zhí)行就行了

            3

            exp/imp工具;

            帶參數(shù):rows=y —— 帶數(shù)據(jù)導(dǎo)出導(dǎo)入;

            rows=n —— 不帶數(shù)據(jù)的導(dǎo)出導(dǎo)入,只移植結(jié)構(gòu)

            只導(dǎo)出3張表的結(jié)構(gòu):

            exp user/pasword@dbServerName owner=user tables=(tb1,tb2,tb3) rows=n file=c:\1.dmp

            連帶數(shù)據(jù)導(dǎo)出:

            exp user/pasword@dbServerName owner=user tables=(tb1,tb2,tb3) rows=y file=c:\2.dmp

            imp user2/pasword@dbServerName2 fromuser=user touser=user2 file=c:\1.dmp

            或者

            imp user2/pasword@dbServerName2 fromuser=user touser=user2 file=c:\2.dmp

            3

            方法一:

            exp userid=scott/tiger owner=scott

            imp userid=scott/tiger full=y indexfile=scott.sql

            ……

            more scott.sql

            REM   CREATE TABLE "SCOTT"."BONUS" ("ENAME" VARCHAR2(10), "JOB"

            REM   VARCHAR2(9), "SAL" NUMBER, "COMM" NUMBER) PCTFREE 10 PCTUSED 40

            REM   INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREELIST

            REM   GROUPS 1) TABLESPACE "USERS" LOGGING NOCOMPRESS ;

            REM   ... 0 rows

            REM   CREATE TABLE "SCOTT"."DEPT" ("DEPTNO" NUMBER(2, 0), "DNAME"

            REM   VARCHAR2(14), "LOC" VARCHAR2(13)) PCTFREE 10 PCTUSED 40 INITRANS 1

            REM   MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1)

            REM   TABLESPACE "USERS" LOGGING NOCOMPRESS ;

            REM   ... 4 rows

            REM CREATE TABLE "SCOTT"."DUMMY" ("DUMMY" NUMBER) PCTFREE 10 PCTUSED 40

            REM   INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREELIST

            REM   GROUPS 1) TABLESPACE "USERS" LOGGING NOCOMPRESS ;

            REM   ... 1 rows

            REM   CREATE TABLE "SCOTT"."EMP" ("EMPNO" NUMBER(4, 0) NOT NULL ENABLE,

            REM   "ENAME" VARCHAR2(10), "JOB" VARCHAR2(9), "MGR" NUMBER(4, 0),

            REM   "HIREDATE" DATE, "SAL" NUMBER(7, 2), "COMM" NUMBER(7, 2), "DEPTNO"

            REM   NUMBER(2, 0)) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255

            REM   STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1) TABLESPACE

            REM   "USERS" LOGGING NOCOMPRESS ;

            REM   ... 14 rows

            REM   CREATE TABLE "SCOTT"."SALGRADE" ("GRADE" NUMBER, "LOSAL" NUMBER,

            REM   "HISAL" NUMBER) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255

            REM   STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1) TABLESPACE

            REM   "USERS" LOGGING NOCOMPRESS ;

            REM   ... 5 rows

            …………

            把前面的REM去了,再去掉最后一行,創(chuàng)建表的DDL就OK了。

            方法二:

            set pagesize 0

            set long 90000

            set feedback off

            set echo off

            spool get_allddl.sql

            connect USERNAME/PASSWORD@SID;

            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;

            My Test:

            set pagesize 0

            set long 90000

            set feedback off

            set echo off

            spool get_allddl.sql

            connect username/password@database;

            SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name)

            FROM USER_TABLES u where table_name = 'USER_INFO';

            spool off;

            SET HEADING OFF;

            SET ECHO OFF;

            SET LONG 90000;

            SPOOL D:\test.txt

            SELECT dbms_metadata.get_ddl('TABLE','USER_INFO') FROM SYS.DBA_USERS WHERE USERNAME = 'GINGKO';

            SPOOL OFF;



          歡迎大家訪問我的個(gè)人網(wǎng)站 萌萌的IT人

          posted on 2013-12-25 16:16 一堣而安 閱讀(2620) 評論(0)  編輯  收藏 所屬分類: oracle

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          收藏夾

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 府谷县| 普兰店市| 涟水县| 榆社县| 武义县| 东台市| 紫阳县| 富阳市| 綦江县| 同德县| 大连市| 远安县| 定结县| 综艺| 双城市| 沁源县| 吉水县| 江门市| 炉霍县| 永平县| 东安县| 美姑县| 金门县| 中阳县| 宝山区| 清苑县| 聂荣县| 新郑市| 枞阳县| 疏附县| 萨迦县| 根河市| 云浮市| 右玉县| 福贡县| 景东| 鄂托克旗| 安岳县| 宜川县| 铁力市| 舞阳县|