ITPub博客

首页 > 数据库 > Oracle > oracle 将一个表复制到另外一个表里

oracle 将一个表复制到另外一个表里

Oracle 作者:小乖老怪 时间:2013-12-31 09:37:43 0 删除 编辑


oracle 

将一个表

复

制到另外一个表里

 

 

 

Oracle

数据

结

构

软

件

测试

SQL

 

创

建一个表

new_table

和

old_table

表

结

构一

样

(

没有

old_table

的

记录

)

 

create table new_table as select * from old_table  

where 1=0; 

  

创

建一个表

new_table

和

old_table

表

结

构一

样

(

有

old_table

的

记录

)

 

create table new_table as select * from old_table; 

  

复

制一个表到另一个表

 

insert into new_table select * from old_table; 

  

创

建

视图

,

删

除

视图

 

create or replace view **_view as select * from **table; 

drop view **_view; 

  

创

建

临时

表

 

create  

global  

temporary  

table  

tablename  

on  

commit  

preserve  

rows  

as  

select  

* 

 

from  

others_table 

  

Oracle

临时

表的

实际

用法的

经验

心得

 

临时

表只能在当前

连

接内有效;

 

临时

表不建立索引,所以数据量比

较

大或

进

行多次

查询时

,不推荐使用;

 

数据

处

理比

较复杂

的

时

候表快,反之

视图

快点;

 

在

仅仅查询

数据的

时

候建

议

用游

标

;

 

  

我

们

目前所使用的

 Oracle 

是作

为

数据

库

支撑平台的

实际应

用,可以

说

其数据量

还

是算的上比

较庞

大的系

统

,即表的数据量一般情况下都是在百万

级

以上的数据量。

 

当然在

 

Oracle 

中

创

建分区是一

种

不

错

的

选择

,但是当你

发现

你的

应

用有多

张

表

关联

的

时

候,

并且

这

些表大部分都是比

较庞

大,而你

关联

的

时

候

发现

其中的某一

张

或者某几

张

表

关联

之后

得到的

结

果集非常小并且

查询

得到

这

个

结

果集的速度非常快,那

么这

个

时

候我考

虑

在

 

Oracle 

中

创

建

“

临时

表

”

。


oracle 

将一个表

复

制到另外一个表里

 

 

 

Oracle

数据

结

构

软

件

测试

SQL

 

创

建一个表

new_table

和

old_table

表

结

构一

样

(

没有

old_table

的

记录

)

 

create table new_table as select * from old_table  

where 1=0; 

  

创

建一个表

new_table

和

old_table

表

结

构一

样

(

有

old_table

的

记录

)

 

create table new_table as select * from old_table; 

  

复

制一个表到另一个表

 

insert into new_table select * from old_table; 

  

创

建

视图

,

删

除

视图

 

create or replace view **_view as select * from **table; 

drop view **_view; 

  

创

建

临时

表

 

create  

global  

temporary  

table  

tablename  

on  

commit  

preserve  

rows  

as  

select  

* 

 

from  

others_table 

  

Oracle

临时

表的

实际

用法的

经验

心得

 

临时

表只能在当前

连

接内有效;

 

临时

表不建立索引,所以数据量比

较

大或

进

行多次

查询时

,不推荐使用;

 

数据

处

理比

较复杂

的

时

候表快,反之

视图

快点;

 

在

仅仅查询

数据的

时

候建

议

用游

标

;

 

  

我

们

目前所使用的

 Oracle 

是作

为

数据

库

支撑平台的

实际应

用,可以

说

其数据量

还

是算的上比

较庞

大的系

统

,即表的数据量一般情况下都是在百万

级

以上的数据量。

 

当然在

 

Oracle 

中

创

建分区是一

种

不

错

的

选择

,但是当你

发现

你的

应

用有多

张

表

关联

的

时

候,

并且

这

些表大部分都是比

较庞

大,而你

关联

的

时

候

发现

其中的某一

张

或者某几

张

表

关联

之后

得到的

结

果集非常小并且

查询

得到

这

个

结

果集的速度非常快,那

么这

个

时

候我考

虑

在

 

Oracle 

中

创

建

“

临时

表

”

。

 

创建一个表new_table和old_table表结构一样(没有old_table的记录) 

create table new_table as select * from old_table  where 1=0;   

创建一个表new_table和old_table表结构一样(有old_table的录) 

create table new_table as select * from old_table;   

复制一个表到另一个表 

insert into new_table select * from old_table;   

 创建视图,删除视图 

 create or replace view **_view as select * from **table; 

drop view **_view;  

  创建临时表  create  global  temporary  table  tablename  on  commit  preserve  rows  as  select  *  from  others_table   

 Oracle临时表的实际用法的经验心得 临时表只能在当前连接内有效; 

 临时表不建立索引,所以数据量比较大或进行多次查询时,不推荐使用; 

数据处理比较复杂的时候表快,反之视图快点; 在仅仅查询数据的时候建议用游标;   

我们目前所使用的 Oracle 是作为数据库支撑平台的实际应用,可以说其数据量还是算的上比较庞大的系统,即表的数据量一般情况下都是在百万级以上的数据量。 

当然在 Oracle 中创建分区是一种不错的选择,但是当你发现你的应用有多张表关联的时候,并且这些表大部分都是比较庞大,而你关联的时候发现其中的某一张或者某几张表关联之后得到的结果集非常小并且查询得到这个结果集的速度非常快,那么这个时候我考虑在 Oracle 中创建“临时表”。

<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22115032/viewspace-1116129/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-07-15