带参数

java调用带有返回值的oracle存储过程

旧街凉风 提交于 2020-04-11 16:39:06
项目开发中,需要利用存储过程来返回处理的结果,虽然sql语句熟悉,但是写oracle存储过程还是头一回,现在分享出来。 首先在PL/SQL中建立一个存储过程, create or replace procedure DIRECTNAME(planId in number,directnamestr out varchar2) is -- in 表示的是输入的参数,out表示的是存储过程输出的参数 namestr varchar2(200); CURSOR CUR -- 游标的声明 is select p.pronam from com_project p where p.projid = planid; e CUR%ROWTYPE; --将游标的一行的数据赋给 e begin if not CUR %isopen then open CUR; --游标开启 end if; fetch CUR into e; while CUR%found loop namestr := namestr || e.pronam || ','; -- oracle的字符串连接使用的是 ||,开始我一直使用 + 号报错 fetch CUR into e; end loop; close CUR; -- 关闭游标 directnamestr := namestr; end DIRECTNAME;