如何将oracle数据库中的表导出指定结构的表?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将oracle数据库中的表导出指定结构的表?相关的知识,希望对你有一定的参考价值。
比如说库中有2张表a和b,a有字段,学号、姓名 ,b有字段id, 课程,成绩
a-->(指定表a2中需增加一个性别字段)b-->(指定表b2中删除id字段)请高手指教?有什么好的实现方法?
第一步执行sql:create table table2 as select t.id.t.name,t.age from usertable t where 1=2;
解释:先把要复制的表结构通过“select t.id.t.name,t.age from usertable t where 1=2”读取出来表字段,然后创建一个新表,新表的字段来自刚才的查询结果。
第二步执行sql:exp user/pasword@dbServerName tables=(table2 ) file=c:\1.dmp;导出到“c:\1.dmp”。 参考技术A 哪有那么麻烦?
进入plsql
找到table那个大项,点出来,下边会罗列出许多表
右键点中你所需要的那个表名
找到DBMS_Metadata
然后选项里有ddl
弹出来那个窗口就是你的表结构,拷贝出来直接在另一个库里执行就可以啦
-----------------------------补充------------------------
PLSQL里
tools下
export user objects of
按shift批量选择表
执行就行了本回答被提问者和网友采纳 参考技术B 不是很明白你表达的意思。。。a2 是新的表?追问
是的
如何将oracle用户下的表,视图结构导出
在oracle中,如何将用户下的表结构,视图结构导出?
首先要弄清楚的是,你导出的目的是什么?是为了在另外一个库上重建么,或者仅仅是要看一看。是要导出该用户下所有的吗?数据库的版本是什么?
给你一个简单的比较通用的办法,用exp导出
我在10.2.0.1下测试通过,应该可以用于9i以上版本。
$ exp test/oracle owner=test rows=n file=exp.dmp log=exp.log
这样是导出test用户下的所有对象,rows=n 即不导出数据,只导出表结构。
导出文件是exp.dmp 。这个是不可读的,你可以用如下命令获得表结构
$ imp test/oracle file=exp.dmp show=y log=imp.log
show=y 即不真正执行导入,只将导入要做的事情记录到imp.log当中。
执行结束。可以在imp.log中看到类似如下的信息
"CREATE TABLE "TEST" ("A" NUMBER, "B" NUMBER) PCTFREE 10 PCTUSED 40 INITRAN"
"S 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1 BUFFER"
"_POOL DEFAULT) TABLESPACE "USERS" LOGGING NOCOMPRESS"
"CREATE TABLE "TN" ("NAME" VARCHAR2(1000)) PCTFREE 10 PCTUSED 40 INITRANS 1"
" MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1 BUFFER_PO"
"OL DEFAULT) TABLESPACE "USERS" LOGGING NOCOMPRESS"
I
这就是原来在test用户下的2张表的结构了 参考技术A 可以借助plsql工具实现tools---->Export User Objects 参考技术B 使用oracle自带的实用程序exp或expdp
以上是关于如何将oracle数据库中的表导出指定结构的表?的主要内容,如果未能解决你的问题,请参考以下文章