oracle之路(四)存储过程!

建立存储过程:

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();
		}
	}
}

运行更新数据库。

原文地址:https://www.cnblogs.com/yangzhi/p/3576545.html