select 语句在存储过程里要写为 select field_name1 ... into var1 ... from table_name where cond;
过程中的select 要有变量来接收传值. 而且你这么编译过了这个过程做不了任何事情/. create or replace procedure P_YLFTOJTJ as begin select * from tt; end P_YLFTOJTJ;
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;
我再问一问,在下面: 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都一样,我想问一下,在什么情况下要加,什么情况下可加可不加?
ORACLE存储过程返回的记录集不能象MSSQL一样可以用select * from table就可以返回这个记录集,它必须将要返回的记录集传到游标中返回.就是说只能通过游标来返回ORACLE的记录集.
where cond;
而且你这么编译过了这个过程做不了任何事情/.
create or replace procedure P_YLFTOJTJ
as
begin
select * from tt;
end P_YLFTOJTJ;
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;
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都一样,我想问一下,在什么情况下要加,什么情况下可加可不加?