问题:编写一个过程,可以输入雇员的编号,返回雇员的姓名
--有返回值的存储过程,有输入输出的存储过程
create procedure sp_pro8(spNO in number,spName out varchar2)
is
begin
select ename into spName from emp where empno=spNO;
end;
Java调用的方法:
[java] view plain copy
package com.sw;
import java.sql.*;
public class Test2 {
/*
* 有返回值的过程实例
*/
public static void main(String[] args) {
//变量
Connection conn = null;
CallableStatement cs = null;
try {
//声明驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//得到链接
conn = DriverManager
.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl",
"scott","Oracle1");
//创建CallableStatement,调用过程必须使用
cs = conn.prepareCall("{call sp_pro8(?,?)}");
//给?赋值
cs.setInt(1, 7788);
cs.registerOutParameter(2, oracle.jdbc.OracleTypes.VARCHAR);
//执行
cs.execute();
//取出返回值
String name = cs.getString(2);
System.out.println("7788的名字是:"+name);
} catch (Exception e) {
e.printStackTrace();
}finally{
//关闭资源
try {
cs.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
pl/sql 有返回值的存储过程 以及代码中调用存储过程 实例
最新推荐文章于 2023-07-06 15:57:51 发布