项目还在开发阶段,表里有很多实验数据,虽然有用但是不常用。
所以希望能建立一个备份的表,把某天之前的数据都导入备份表后,再删掉原表中的数据,请问该怎么做 ?多谢!
所以希望能建立一个备份的表,把某天之前的数据都导入备份表后,再删掉原表中的数据,请问该怎么做 ?多谢!
解决方案 »
- 关于sql语句外连接的问题
- 要进入SQLPLUS之前必须启动哪些服务啊??请指点
- 插入,删除log
- oracle 连接问题ora-12154: tns:could not resolve the connect identifier spec
- 请SQL高手帮助。
- EXP导出数据库时报错:connection to sys should be as sysdba or sysoper
- 请问我用oracle8.05版的schema manager如何在视窗界面下修改数据表的名字以及修改字段名,在表中插入新的字段,修改字段名等操作呀?
- oracle的sys密码默认是什么?
- 我有一个Oracle的版本,在中文系统下装的是英文,日文系统下装的是日文,哪位知道怎么在日文系统下装英文?
- Oracle9i下载了那三个文件,点击Setup没反映??为什么??
- 求教一条sql 写法,在线等结贴 立刻给分
- 在sql语句中调用自建函数,执行时提示ORA-01722: 无效数字
表里有没有时间的字段?可以用这个备份表,
create table table_bk as select * from target_table where ...然后在truncate table table_name.truncate 能把所有数据都删除,且保留目录结构. 但不会放在表空间的recycle中,无法进行flashback 恢复。不过这样能释放表空间,不会出现高水位的问题。
那试试:
create table table_bk as select * from tb where update_time < (sysdate -2);
或者
create table table_bk as select * from tb where update_time < to_date('2009-10-24','YYYY-MM-DD');创建备份后在删除就数据..
先看下系统时间日期格式
Select sysdate from dual;update_time < to_date('2009-10-24','YYYY-MM-DD');
如果格式不一致,可能匹配不到结果.
truncate 不可以带where 条件,
要是带where 条件只能用delete..