明确写出要插入的字段名
insert into tab_name(col1, col2, col3) values (ref.col1, ref.col2, ref.col3)

解决方案 »

  1.   

    同意 xiaoxiao1984(笨猫一只^_^) 正解
      

  2.   

    拜托,是使用游标里的纪录进行插入操作的,就是
    fetch 游标名 into …………
    我就是不知道这样的语法正确的应该是怎么样的
      

  3.   

    fetch 游标名 into …………
    这个不是插入语句阿,楼主问得是什么啊
      

  4.   

    fetch 游标名 into v1,v2,v3;insert into table_name(col1,col2,col3) values(v1,v2,v3);或者你做游标的时候就以空值或0填充缺少的哪个字段,这不就可以一一对应了?
      

  5.   

    94啊,fetch 游标名 into后面是接变量名的,不能接字段名吧!
      

  6.   

    用 forall in.
    否则效率很低~
    (因为oracle从PLSQL环境转到SQL*Plus需要时间,再转回来又要时间)
      

  7.   

    可能申明游标的语句是:
    declare cursor csr_ref is select id ,name,... from tab_name where ...;
    ref csr_ref%rowtype;
    ...  --打开游标等fetch csr_ref into ref;
    insert into tab_name1 values(ref.id, ref.name,...)
    ...