A1和A2的结构完全一样merge into a1
using a2
on(a1.id=a2.id)
when not matched then
insert values(select * from a2)
这样的话,语法肯定是错误的,改成insert values(a2.id,a2.name,....)就可以了
但是表中字段特别多,这样写明显太罗嗦,有什么好办法可以实现上述呢?再此先谢谢各位抽空关注我的贴~~~ 

解决方案 »

  1.   

    就算可以用insert values(select * from a2)
    但如果a2的字段比a1多几个,a2的字段又很多
    那你怎么实现,难道还寄希望oracle帮你实现except掉几个字段的语法在下脚本都想偷懒的不是道理
    像这种设计对脚本的重复操作,就看你对文本编辑器的灵活应用了
    像UE的替换、正则表达式的使用
    甚至excel都可以派上用场
      

  2.   

    明白了,看来还是得一个一个的去写
    真希望merge语法中能支持insert into TAB1 select * from TAB2的语法啊