我在SQL Server中有一个存储过程,如下所示
CREATE OR REPLACE PROCEDURE studentById(id in number)
AS
BEGIN
select fname||' '||lname,dept into sname,dept from student where sid=id;
END;
在Java代码中我调用存储过程如下
StoredProcedureQuery storedProcedure = entitymanager.createStoredProcedureQuery("studentById");
storedProcedure.registerStoredProcedureParameter("id", Integer.class, ParameterMode.IN);
storedProcedure.registerStoredProcedureParameter("sname", String.class, ParameterMode.OUT);
storedProcedure.registerStoredProcedureParameter("dept", String.class, ParameterMode.OUT);
storedProcedure.setParameter("id", id);
storedProcedure.execute();
String name = storedProcedure.getOutputParameterValue("sname").toString();
String dept = storedProcedure.getOutputParameterValue("dept").toString();
我无法使用out参数获取结果集或数据 我无法更改我的存储过程,因为我无法访问数据库。