select 语句在过程里要写为 select field_name into var from table_name where ...

解决方案 »

  1.   

    select 语句在存储过程里要写为 select field_name1 ... into var1 ... from table_name
    where cond;
      

  2.   

    过程中的select 要有变量来接收传值.
    而且你这么编译过了这个过程做不了任何事情/.
    create or replace procedure P_YLFTOJTJ 
    as
    begin
    select * from tt;
    end P_YLFTOJTJ;
      

  3.   

    create or replace package p1
    as
      type myCursor is ref cursor;
    end p1;create procedure list_early_deaths(cur out p1.myCursor) as
        ret p1.myCursor;
    begin
        open ret for select * from tt;
        return ret;
    end;
      

  4.   

    我再问一问,在下面:
    create or replace procedure P_YLFTOJTJ 
    as
    begin
    insert into tt(bs,lxbh,lbbh,ffrq) values(8,1,1,sysdate);
    end P_YLFTOJTJ;
    如果insert后面加上commit,和不加commit都一样,我想问一下,在什么情况下要加,什么情况下可加可不加?
      

  5.   

    ORACLE存储过程返回的记录集不能象MSSQL一样可以用select * from table就可以返回这个记录集,它必须将要返回的记录集传到游标中返回.就是说只能通过游标来返回ORACLE的记录集.
      

  6.   

    请问谁能告诉我commit的用法,提交insert,在什么情况下要加commit,什么情况下可加可不加?
      

  7.   

    按照书上的说法,insert后只是把数据放到缓存区,必须要commit提交。但是我在存贮过程中不加commit,也能把数据插到数据库中了,为什么?