我遇到一个数据库备份的问题,不会解决查看了文档也没看明白。请问高手怎么做?
说我有一个表TABLE01 (Birth Date)里面有一个日期类型的字段-生日。
另外还有一个表TABLE02跟TABLE01的表结构完全一致。
我想把TABLE01里面生日是3月的数据并且不再TABLE02里面存在的数据备份到TABLE02里面去。另外还有一个表TABLE03跟TABLE01的表结构唯一的不同就是TABLE02多了一个ID(这个ID是根据序列SEQ_ID获得的)。
如何把TABLE01里面的数据备份到TABLE03里面去。(分少了点请见谅!!!!)补充一个问题:(不是备份的),我想删除时间为整点的数据怎么写sql?我写了一个,感觉很笨,就是吧所有的整点的时间都列出来,然后not in这个集合。我感觉这样效率很低,而且sql也太长了,不知道谁有没有更好的写法~~~~

解决方案 »

  1.   

    insert into t2 select * from t1 where not exists(select 1 from t2 where t1.key = t2.key)
    其中key是可以唯一标识一行记录的主键(可以不是一个条件,楼主自己写吧)
    另外再加上日期判断即可。
      

  2.   

    insert into t3 select (select seq_Name.nextval from dual),t1.col1,t1.col2 ... from t1
    seq_Name是序列的名字
    col1.。。是指T1的各个字段,要写全。很基础,建议看看SQL的基础知识