⑴ oracle数据库怎么复制数据
你是要复制出来还是复制到另外一个表结构:
复制的话直接sql语句 :1. 复制表结构及其数据: create table table_name_new as select * from table_name_old
2. 只复制表结构: create table table_name_new as select * from table_name_old where 1=2; 或者: create table table_name_new like table_name_old
3. 只复制表数据:如果两个表结构一样:insert into table_name_new select * from table_name_old 如果两个表结构不一样:insert into table_name_new(column1,column2...) select column1,column2... from table_name_old
导出来的话指令不写了、直接网络就有了。
⑵ Oracle SQL怎么把一个表的部分数据复制到相同表结构的新表中
用insert into select,比如
insert into a(a,b,c) select a,b,c from b where a>=100
⑶ oracle怎么复制表以及表中数据
可用如下方法复制:
如果新表不存在:
比如有一张表叫test,现在要复制表结构及表内数据,可执行代码:
createtabletestasselect*fromtest;
这样就把表结构连同数据一起复制了。
如果表存在,可用以下代码:
insertintotest1select*fromtest;
commit;
⑷ Oracle:将表导出成sql文 这里哪部分我可以复制出来直接用呢
您好,这是软件自动生成的
1、有些语句你可能看不懂,他们是辅助信息可要可不要,但都能运行;
2、真正有用的是insert into 那几个语句,分号结尾;
所以,上面的这些语句可以保存成.sql文件,然后再命令行里调用就能执行了。不必要删减,如果非要删减可以截取inset into那几个语句:
insert into NSI_GRADE_T (GRADEID, GRADENAME, REMARK, DELSIGN)
values (2, '2007级', '2007级', 0);
insert into NSI_GRADE_T (GRADEID, GRADENAME, REMARK, DELSIGN)
values (4, '11级新生', null, 0);
insert into NSI_GRADE_T (GRADEID, GRADENAME, REMARK, DELSIGN)
values (1, '2006级', '2006级', 0);
insert into NSI_GRADE_T (GRADEID, GRADENAME, REMARK, DELSIGN)
values (3, '2008级', '2008级', 0);
insert into NSI_GRADE_T (GRADEID, GRADENAME, REMARK, DELSIGN)
values (5, '2009级', '2009级', 0);
insert into NSI_GRADE_T (GRADEID, GRADENAME, REMARK, DELSIGN)
values (6, '2010', null, 1);
⑸ ORACLE把一张表的数据复制到另外一张表
假如原表叫aa,目标表bb
DECLARE
CURSORcurIS
SELECT*FROMaa;--定义游标(aa换成你自己表名)
TYPErecISTABLEOFaa%ROWTYPE;--定义类型(这里的aa也要替换成你自己表名)
recsrec;
BEGIN
OPENcur;--打开游标
WHILE(TRUE)LOOP--循环条件
FETCHcurBULKCOLLECT--取游标里的值
INTOrecsLIMIT10000;--提交条件,每10000条提交
FORALLiIN1..recs.COUNT--这个是个计数器,用来确保提交的条数,也是循环
INSERTINTObbVALUESrecs(i);--插入目标表(bb替换成你目标表名)
COMMIT;--提交
EXITWHENcur%NOTFOUND;--游标结束条件
ENDLOOP;--停止循环
CLOSEcur;--关闭游标
END;
这个速度是最快的,10W数据不到1秒
⑹ 不用exp,imp,oracle中怎么把某个用户下的所有表复制到另一个用户,纯用sql
可以使用复制表语句实现。
如下:
select 'create table A.'|| a.table_name || ' as select * from '|| 'B.'||a.table_name||';' from dba_tables a where owner='B';
以上语句的查询结果为:生成复制所有B用户下的表到A用户的SQL。
批量执行查询结果就可以了,你只需要修改A、B用户即可
上面sql查询结果效果如下:
⑺ Oracle如何复制表的sql语句
以及如何复制相关表的结构又复制表中的数据sql。以下就是相关内容的具体介绍,望你浏览完以下的内容会有所收获。如下,表a是数据库中已经存在的表,b是准备根据表a进行复制创建的表:1、只复制表结构的sqlcreate?table?b?as?select?*?from?a?where?11? 以上语句虽然能够很容易的根据a表结构复制创建b表,但是a表的索引等却复制不了,需要在b中手动建立。5、insert into 会将查询结果保存到已经存在的表中insert?into?t2(column1,?column2,?....)
⑻ 如何将ORACLE数据库的表内容复制到SQL Server数据库中
假设要将SQL Server中的Northwind数据库中的Procts表导出到Oracle的Scott用户 首先需要有安装SQL Server企业版 1.打开工具: 开始->程序-> 导入和SQL Server数据导出数据 2.下一步,选择数据源 [数据源]选择“用于SQL Server的Microsoft OLE DB提供程序”,这应该是缺省值。 [服务器]选择要导出数据的服务器,如果是本机,选择(local) [数据库]选择要导出的数据所在的库,这里选择Northwind 3.下一步,选择目的 [目的]选择Microsoft ODBC for Oracle [DSN]选择用户/系统DSN一项,然后在下拉列表框中找一个已经连接到了Scott用户的DSN名称。 如果下拉列表中没有,点下拉列表框右侧的[新建],出现创建新数据源界面。 接下来选择系统数据源,下一步,在驱动程序列表中选择Microsoft ODBC for Oracle 下一步,完成,出现Microsoft ODBC for Oracle安装界面 [数据源名称]随便输入,比如sss [说明]可以不填 [用户名称]填入要SQL Server数据导出到的Oracle用户名称,这里是scott [服务器]填入要连接到Oracle服务器所使用的服务名,比方说使用sqlplus scott/tiger@server1可以连接到数据库,那么这里就填入server1。如果本机就是服务器,使用sqlplus scott/tiger即可连接到数据库,这里空着不填即可。 这样就创建好了一个数据源sss,保证下拉列表框中选择了sss一项。 [用户名]填入SQL Server数据导出到的Oracle用户名称,这里是scott [密码]填入SQL Server数据导出到的Oracle用户使用的密码,这里是tiger 4.下一步,指定表复制或查询 如果要导出的内容是整个表,选择[从源数据库复制表和视图] 如果要导出的内容是表的一部分列,行,可以选择[用一条查询指定要传输的数据],这时需要写出一个查询语句 这里选择第一项[从源数据库复制表和视图] 5.下一步,选择源表和视图 点中要导出的表Procts一行的复选框,目的、转换两栏就会出现内容。 目的可以用来选择表名。转换可以用来修改列的数据类型或是整个建表的SQL语句 6.下一步,保存、调度和复制包 选中立即运行 7.下一步,正在完成DTS导入/导出向导 8.完成 提示“成功地将n个表从Microsoft SQLServer复制到了Oracle” 9.完成,关闭导入导出程序 注意:因为oracle的表名都是大写的,而SQL的表可能是大小混写的,所以导入后在oracle里查不到该表,比如这个Procts表在oracle里查询就应该写成select * from scott."Procts";为了方便查询可以通过批量修改表名为大写以便后面导数据的工作。
⑼ oracle中如何将数据从一个表复制到另一个表(仅复制其中某些字段)
insert into 新表(字段1,字段2,字段3) select 字段1,字段2,字段3 from 旧表,commit;确定新表里没被插入的字段有默认值或者不为空,否则报错;现在在另一个表中建一个字段(null),然后在企业管理器里用数据导出,把其他字段的钩选空,就那个要复制的字段,这样导出就可以了,只不过源数据库和目标数据库是同一个数据库而已。