首页 > 数据库 > Oracle > 关于oracle存储过程的若干问题备忘(转)
oracle存储过程开发中需要注意的几个问题
select a.appname from appinfo a;-- 正确
select a.appname from appinfo as a;-- 错误
select af.keynode into kn from APPFOUNDATION af where af.appid=aid and af.foundationid=fid;-- 有into,正确编译
select af.keynode from APPFOUNDATION af where af.appid=aid and af.foundationid=fid;-- 没有into,编译报错,提示:Compilation
Error: PLS-00428: an INTO clause is expected in this SELECT statement

select keynode into kn from APPFOUNDATION where appid=aid and foundationid=fid;-- 正确运行
select af.keynode into kn from APPFOUNDATION af where af.appid=appid and af.foundationid=foundationid;-- 运行阶段报错,提示
ORA-01422:exact fetch returns more than requested number of rows
create table A(
id varchar2(50) primary key not null,
vcount number(8) not null,
bid varchar2(50) not null -- 外键
);
select sum(vcount) into fcount from A where bid='xxxxxx';
if fcount is null then
fcount:=0;
end if;
this.pnumberManager.getHibernateTemplate().execute(
new HibernateCallback() ...{
public Object doInHibernate(Session session)
throws HibernateException, SQLException ...{
CallableStatement cs = session
.connection()
.prepareCall("{call modifyapppnumber_remain(?)}");
cs.setString(1, foundationid);
cs.execute();
return null;
}
});来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8227599/viewspace-933100/ ,如需转载,请注明出处,否则将追究法律责任。