oracle带返回值储存过程

2014-11-24 15:10:09 · 作者: · 浏览: 0

oracle带返回值储存过程
存储过程
Sql代码
create or replace procedure sp_pro_order(spName in nvarchar2,spAddress in nvarchar2,spId out number) is
begin
INSERT INTO ORDER_MC(ID,NAME,ADDRESS,CREATETIME) values(order_id.nextval,spName,spAddress,SYSDATE);
select order_id.currval into spId from dual;
end sp_pro_order;
www.2cto.com
java 代码调用
Connection conn=super.getConn();
try {
String sql="{call sp_pro_order( , , )} ";
CallableStatement cs=conn.prepareCall(sql);
cs.setString(1, om.getName());
cs.setString(2, om.getAddress());
cs.registerOutParameter(3, oracle.jdbc. OracleTypes.NUMBER);//返回值类型
cs.execute();
int id=cs.getInt(3);//3为返回值位置