oracle怎么另存表 怎么将oracle表中的数据导出

如何将oracle表数据导入到另一个表如果另外一个表不存在 , 可以
create table2 as select * from table1;
如果已存在
可以
insert into table2(c1,c2,c3...) select c1,c2,c3... from table1;
oracle 中怎么把一个表中的数据完全复制到另外一个表表还不存在oracle怎么另存表的情况,创建表并复制数据:
create table 新表 as select * from 表oracle怎么另存表;
表已经存在的情况,直接插入数据:
insert into 目标表 select * from 源表oracle怎么另存表;这种是目标表和源表的结构完全一样的写法
如果不完全一样,就要把字段一个一个的写上:
insert into 目标表 (a,b,c) select (a,b,c) from 源表;
ORACLE把一张表的数据复制到另外一张表假如原表叫aa,目标表bb
DECLARE
CURSOR cur IS
SELECT * FROM aa;--定义游标(aa换成你自己表名)
TYPE rec IS TABLE OF aa%ROWTYPE;--定义类型(这里的aa也要替换成你自己表名)
recs rec;
BEGIN
OPEN cur; --打开游标
WHILE (TRUE) LOOP --循环条件
FETCH cur BULK COLLECT --取游标里的值
INTO recs LIMIT 10000; --提交条件 , 每10000条提交
FORALL i IN 1 .. recs.COUNT --这个是个计数器,用来确保提交的条数,也是循环
INSERT INTO bb VALUES recs (i);--插入目标表(bb替换成你目标表名)
COMMIT; --提交
EXIT WHEN cur%NOTFOUND;--游标结束条件
END LOOP; --停止循环
CLOSE cur;--关闭游标
END;
这个速度是最快的,10W数据不到1秒
oracle 储存过程 把一段时间内没有变化的数据 存到另一个表中CREATE OR REPLACE PROCEDURE 存储过程名(
is_ysIN CHAR(11) ,
is_ye IN CHAR(11)
)
AS
vs_ym_begCHAR(11);--起始时间
vs_ym_endCHAR(11);--终止时间
BEGIN
vs_ym_beg := is_ys;
vs_ym_end := is_ye;
SELECT * INTO 目标表 FROM 表一 WHERE 日期 BETWEEN vs_ym_beg AND vs_ym_endGROUP BY 学生,成绩 HAVING COUNT(学生) = 1;
END;
【oracle怎么另存表 怎么将oracle表中的数据导出】关于oracle怎么另存表和怎么将oracle表中的数据导出的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。

    推荐阅读