java 调用存储过程的两种不同方式

1.如果数据库使用的存储过程为返回值的方法

create or replace function check(name varchar2)

return number as
id number;

begin ...

java程序使用的方法为:

proc = conn.prepareCall("{ ?=call activeusernamepwd( ? ) }");

proc.setString(2,"nameval");

proc.registerOutParameter(1, OracleTypes.NUMBER);

proc.execute();
id = proc.getLong(1);

2.如果数据库使用的存储过程为返回参数的方法

CREATE OR REPLACE PROCEDURE checkUserExist(
                                      name varchar2,  

                                      id out number)  is
begin ...

java程序使用的方法为:

 proc = conn.prepareCall("{ call checkUserExist( ?,?) }");

 proc.setString(1,"nameval");

 proc.registerOutParameter(2,OracleTypes.NUMBER);

 proc.execute();
 id = proc.getLong(2);

猜你喜欢

转载自lf6627926.iteye.com/blog/1522122