熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

oracle導出表結構

2013-11-13 15:40:39  來源: Oracle 

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

  回車在進入如下時輸入no就ok了

  導出表數據(yes/no)yes> no

  

  進入plsql

  找到table那個大項點出來下邊會羅列出許多表

  右鍵點中你所需要的那個表名

  找到DBMS_Metadata

  然後選項裡有ddl

  彈出來那個窗口就是你的表結構拷貝出來直接在另一個庫裡執行就可以啦

  補充

  PLSQL裡

  tools下

  export user objects of

  按shift批量選擇表

  執行就行了

  

  exp/imp工具

  帶參數rows=y —— 帶數據導出導入

  rows=n —— 不帶數據的導出導入只移植結構

  只導出張表的結構

  exp user/pasword@dbServerName owner=user tables=(tbtbtb) rows=n file=c:\dmp

  連帶數據導出

  exp user/pasword@dbServerName owner=user tables=(tbtbtb) rows=y file=c:\dmp

  imp user/pasword@dbServerName fromuser=user touser=user file=c:\dmp

  或者

  imp user/pasword@dbServerName fromuser=user touser=user file=c:\dmp

  

  方法一

  exp userid=scott/tiger owner=scott

  imp userid=scott/tiger full=y indexfile=scottsql

  ……

  more scottsql

  REM   CREATE TABLE SCOTTBONUS (ENAME VARCHAR() JOB

  REM   VARCHAR() SAL NUMBER COMM NUMBER) PCTFREE PCTUSED

  REM   INITRANS MAXTRANS STORAGE(INITIAL FREELISTS FREELIST

  REM   GROUPS ) TABLESPACE USERS LOGGING NOCOMPRESS ;

  REM   rows

  REM   CREATE TABLE SCOTTDEPT (DEPTNO NUMBER( ) DNAME

  REM   VARCHAR() LOC VARCHAR()) PCTFREE PCTUSED INITRANS

  REM   MAXTRANS STORAGE(INITIAL FREELISTS FREELIST GROUPS )

  REM   TABLESPACE USERS LOGGING NOCOMPRESS ;

  REM   rows

  REM   CREATE TABLE SCOTTDUMMY (DUMMY NUMBER) PCTFREE PCTUSED

  REM   INITRANS MAXTRANS STORAGE(INITIAL FREELISTS FREELIST

  REM   GROUPS ) TABLESPACE USERS LOGGING NOCOMPRESS ;

  REM   rows

  REM   CREATE TABLE SCOTTEMP (EMPNO NUMBER( ) NOT NULL ENABLE

  REM   ENAME VARCHAR() JOB VARCHAR() MGR NUMBER( )

  REM   HIREDATE DATE SAL NUMBER( ) COMM NUMBER( ) DEPTNO

  REM   NUMBER( )) PCTFREE PCTUSED INITRANS MAXTRANS

  REM   STORAGE(INITIAL FREELISTS FREELIST GROUPS ) TABLESPACE

  REM   USERS LOGGING NOCOMPRESS ;

  REM   rows

  REM   CREATE TABLE SCOTTSALGRADE (GRADE NUMBER LOSAL NUMBER

  REM   HISAL NUMBER) PCTFREE PCTUSED INITRANS MAXTRANS

  REM   STORAGE(INITIAL FREELISTS FREELIST GROUPS ) TABLESPACE

  REM   USERS LOGGING NOCOMPRESS ;

  REM   rows

  …………

  把前面的REM去了再去掉最後一行創建表的DDL就OK了

  方法二

  set pagesize

  set long

  set feedback off

  set echo off

  spool get_allddlsql

  connect USERNAME/PASSWORD@SID;

  SELECT DBMS_METADATAGET_DDL(TABLEutable_name)

  FROM USER_TABLES u;

  SELECT DBMS_METADATAGET_DDL(INDEXuindex_name)

  FROM USER_INDEXES u;

  spool off;

  My Test:

  set pagesize

  set long

  set feedback off

  set echo off

  spool get_allddlsql

  connect username/password@database;

  SELECT DBMS_METADATAGET_DDL(TABLEutable_name)

  FROM USER_TABLES u where table_name = USER_INFO;

  spool off;

  SET HEADING OFF;

  SET ECHO OFF;

  SET LONG ;

  SPOOL D:\testtxt

  SELECT dbms_metadataget_ddl(TABLEUSER_INFO) FROM SYSDBA_USERS WHERE USERNAME = GINGKO;

  SPOOL OFF;


From:http://tw.wingwit.com/Article/program/Oracle/201311/17119.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.