当前位置:首页 » 编程语言 » oraclesql复制表
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

oraclesql复制表

发布时间: 2022-07-02 01:20:59

⑴ ORACLE把一张表的数据复制到另外一张表

假如原表叫aa,目标表bb

sql">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秒

⑵ oracle中如何将数据从一个表复制到另一个表(仅复制其中某些字段)

insert into 新表(字段1,字段2,字段3) select 字段1,字段2,字段3 from 旧表,commit;确定新表里没被插入的字段有默认值或者不为空,否则报错;现在在另一个表中建一个字段(null),然后在企业管理器里用数据导出,把其他字段的钩选空,就那个要复制的字段,这样导出就可以了,只不过源数据库和目标数据库是同一个数据库而已。

⑶ oracle怎么复制表以及表中数据

可用如下方法复制:

如果新表不存在:

比如有一张表叫test,现在要复制表结构及表内数据,可执行代码:

createtabletestasselect*fromtest;

这样就把表结构连同数据一起复制了。

如果表存在,可用以下代码:

insertintotest1select*fromtest;
commit;

⑷ Oracle SQL怎么把一个表的部分数据复制到相同表结构的新表中

用insert into select,比如
insert into a(a,b,c) select a,b,c from b where a>=100

⑸ 如何将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数据库怎么复制数据

你是要复制出来还是复制到另外一个表结构:

复制的话直接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 Server和Oracle为例),且复制包括目标表已存在和目标表不存在的情况,分别回答:
SQL Server中,如果目标表存在:

insert into 目标表 select * from 原表;

SQL Server中,,如果目标表不存在:

select * into 目标表 from 原表;

Oracle中,如果目标表存在:

insert into 目标表 select * from 原表;
commit;

Oracle中,如果目标表不存在:

create table 目标表 as select * from 原表;

⑻ 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中, 怎样复制表中的部分数据,是部分哦。

复制到 另外一张表上去么?

假设 源表 A ( a1, a2, a3 ) 有 100行数据 (a1 = 1 到 100)

CREATE TABLE B AS
SELECT a1, a2 FROM A WHERE a1 <= 50;

上面的 SQL, 就是复制 A 表的 部分行 (表有100行, 只复制 50行), 部分列 (表有3列, 只复制2列), 到 B 表中。