insert 语句不能直接在过程中运行的,要用动态的sql

解决方案 »

  1.   

    create or replace procedure insertbook() as
    beginEXECUTE IMMEDIATE 'insert into book (id,sn,name) values('001','56345632',(select name from book where id ='002'))';end insertbook;
      

  2.   

    create or replace procedure insertbook
    as
    begin
    insert into book (id,sn,name) select '001','56345632',name from book where id ='002';
    end insertbook;
      

  3.   

    create or replace procedure insertbook
    as
    begin
     insert into book (id,sn,name) select '001','56345632',name from book where id  ='002';
      commit;
    end