微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

日常积累 复制备用表 和oracle数据回闪 的sql语句

一、前言:

           hello,小伙伴们大家好,在每次是利用存储过程和修改数据的时候,我们往往会害怕数据出错等情况发生,今天就来和大家分享几个实用的sql语句,来规避挥着解决这些问题。

 二、内容

   1、复制出备用表的sql语句

①复制表结构和数据到新表 注意:new_table中没有了old_table中的primary key,Extra,auto_increment等属性,需要自己手动加,具体参看后面的修改表即字段属性

 sql:create table new_table(新表名) as select * from old_table (旧表名)

 

②只复制表结构,不复制表数据到新表        

 sql:create table new_table(新表名) as select * from old_table(旧表名) where  1=2

  

③复制旧表数据到新表(新旧表的结构一样)

insert into new_table select * from old_table

 

④复制旧表数据到新表(新旧表结构不一样)    

insert into new_table(field1,field2,.....)
select field1,field2,field3 from old_table;

 

  2、数据回闪(将数据恢复到莫个具体时间点)

 ① 先查询莫个时刻数据

select * from table_name(表名) as of timestamp to_timestamp('2021-01-01 12:00' , 'yyyy-mm-dd hh24:mi:ms')

②确认数据无误后开始回闪数据

alter table table_name(表名) enable row movement;
flashback table table_name(表名) to  timestamp to_timestamp ('2021-01-01 12:00:00' ,'yyyy-mm-dd hh24:mi:ss')

 

  

 

      

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐