在java中调用Oracle存储过程

在java中调用Oracle存储过程

本文介绍如何通过java来调用Oracle的存储过程
1. 编写存储过程

CREATE OR REPLACE PROCEDURE  sp_pro3(sp_name VARCHAR2,sp_sal NUMBER )
IS
BEGIN
  --根据用户名修改工资
  UPDATE emp SET sal=sp_sal WHERE ename=sp_name;
END;

  1. 引入jdbc6.jar,编写测试类Test.java
package testOraclePro;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;

public class Test {

    public static void main(String[] args) {
        try{
            //1.加载驱动
            Class.forName("oracle.jdbc.driver.OracleDriver");
            //2.获取连接
            Connection ct=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:XE","sys as sysdba","123456");
            //3.创建CallableStatement
        CallableStatement cs=ct.prepareCall("{call sp_pro3(?,?)}");
            //4.赋值
            cs.setString(1, "zxs");
            cs.setFloat(2,455f);
            //5.执行
            cs.execute();
            //6.关闭资源
            cs.close();
            ct.close();
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}

执行上面的测试类,即可调用存储过程,执行相应的程序了。

tips:可通过下面的SQL语句来获取数据库名称:

SELECT * FROM V$INSTANCE 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。