在ORACLE数据库内部有两个用户,比如一个是SA1另一个是SA2,SA1下是旧的库表结构下的历史数据,SA2下是新的库表结构(无数据)。现在要求把SA1下的历史数据逐表导入SA2下。由于业务系统的业务逻辑的变更和改进,SA1和SA2下的业务表表结构都有稍许变化。
基本上这种转移数据的SQL为:
insert into 新表(dm,ms,gxtime,bz...) value (select dm,'dd',''... from 旧表)
这种格式可以吗?
数据库不熟,请教这种SQL最好的通用格式,还是照上面的写法就行?
另求在ORACLE下学习写SQL和存储过程的入门资料,还请不啬赐教!

解决方案 »

  1.   

    insert into xxx select * from xxx2;
      

  2.   

    insert into 新表(dm,ms,gxtime,bz...) select dm,'dd',''... from 旧表去买一本 PL/SQL的书学习一下就行了
      

  3.   

    恩,
    8错,
    再问问,在ORACLE中用=号默认是取两边交集是吧?就是说默认是没有外链接的。
    再者,用到子查询的时候,外层查询和子查询谁先执行呢?
    如果是子查询先执行,那在子查询中定义的表别名在外层查询中还有效吗?
      

  4.   

    insert into 新表(dm,ms,gxtime,bz...) select dm,'dd',''... from 旧表