建立存储过程:
create or replace procedure sp_spo3(spName varchar2,newSal number) is
begin
update emp set sal = newSal where ename = spName;
end;
/
编写java代码:
/**
* @title OracleProcudure.java
* @description
* @create 2013-7-29 下午02:52:15 By yangzhi
* @package com.oracle.procudure
* @version $Id$
*/
package com.oracle.procudure;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
*
* oracle存储过程 测试
* @description
*
* @classname OracleProcudure
* @author yangzhi<helloyangzhi@foxmail.com>
* @date 2013-7-29 下午02:52:15
* @version 1.0
*/
public class OracleProcudure {
public static void main(String[] args){
validateOracleProcudure();//测试oracle存储过程
}
/**
* 测试Oracle的存储过程.
*
* @description
*
* @title validateOracleProcudure
* @return void
*/
public static void validateOracleProcudure(){
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
try {
Connection ct = DriverManager.getConnection("jdbc:oracle:thin:@192.168.2.156:1521:ORAL","scott","a888");
CallableStatement cs = ct.prepareCall("{call sp_spo3(?,?)}");
cs.setString(1,"SMITH");
cs.setInt(2,100);
cs.execute();
cs.close();
ct.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
System.out.println("not find driver");
e.printStackTrace();
}
}
}
运行更新数据库。