欢迎投稿

今日深度:

在java中调用Oracle存储过程

在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;

引入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 

www.htsjk.Com true http://www.htsjk.com/oracle/23057.html NewsArticle 在java中调用Oracle存储过程 在java中调用Oracle存储过程 本文介绍如何通过java来调用Oracle的存储过程 1. 编写存储过程 CREATE OR REPLACE PROCEDURE sp_pro3(sp_name VARCHAR2,sp_sal NUMBER )ISBEGIN --根据用户名...
评论暂时关闭