pl/sql 有返回值的存储过程 以及代码中调用存储过程 实例

问题:编写一个过程,可以输入雇员的编号,返回雇员的姓名

--有返回值的存储过程,有输入输出的存储过程
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();  
                }  
            }  
        }  
    }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值