建立存储过程:
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(); } } }
运行更新数据库。