请问oracle数据库如何导出数据库的表结构?

我现在要把oracle的数据库表结构导到另外一个库,就是只导表,不导表内的数据。由于表比较多,请问有什么方便的方法可以实现呢?PLSQL可以实现么?先谢谢各位了totj_... 我现在要把oracle的数据库表结构导到另外一个库,就是只导表,不导表内的数据。由于表比较多,请问有什么方便的方法可以实现呢?
PLSQL可以实现么?
先谢谢各位了

to tj_angela:
这个是比较方便,但是这样会不会更好:
create table newtable as
select *
from oldtable
where 1=2;
而且好像很难做到批量的生成哦,因为我有很多表呢

to hotyxm:
方法应该是可行的,但是用PLSQL可以实现么,谢谢 ^_^

to badkano;
PLSQL中DBMS_Metadata->dll的方法好像只是对一个表操作吧?我选了几个表,但是最后只帮我创建我选的最后一个表的?不知道如何一次把N多的表导出来

----------------------2009-02-26

谢谢三位!
呵呵,其实hotyxm和badkano的都想采纳为答案呢,方法都是可行,不错!
不过只能选一个呢,badkano的方法可以任意选表,方便好用,呵呵!
展开
 我来答
hotyxm
2009-02-23 · TA获得超过1028个赞
知道大有可为答主
回答量:1698
采纳率:50%
帮助的人:1190万
展开全部
试一下这个:
c:\>;exp userid=scott/tiger owner=scott
c:\>;imp userid=scott/tiger full=y indexfile=scott.sql
注意着时import并没有真正写入数据库,而是将DDL写在scott.sql里。
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去了,再去掉最后一行。创建表的DDL就做好了。

TO:楼主
PL/SQL 中可以选择command 窗口,我的是可以操作的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式