java代码:

 
  
  1. package procedure; 
  2.  
  3. import java.sql.CallableStatement; 
  4. import java.sql.Connection; 
  5. import java.sql.DriverManager; 
  6. import java.sql.ResultSet; 
  7. import java.sql.SQLException; 
  8. import java.sql.Statement; 
  9.  
  10. public class TestProcedureOne { 
  11.     public TestProcedureOne() { 
  12.     } 
  13.  
  14.     public static void main(String[] args) { 
  15.         String driver = "oracle.jdbc.driver.OracleDriver"
  16.         // oracle.jdbc.driver.OracleDriver 
  17.         String strUrl = // "jdbc.oracle:thin:@127.0.0.1:1521:ORCL"; 
  18.         "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
  19.         ResultSet rs = null
  20.         Connection con = null;
  21.         try { 
  22.             Class.forName(driver); 
  23.             con = DriverManager.getConnection(strUrl, "用户名""密码"); 
  24.             CallableStatement proc = null
  25.             proc = con.prepareCall("{call TESTA(?,?)}"); 
  26.             proc.setString(1"firstName"); 
  27.             proc.setString(2"77.77"); 
  28.             proc.execute(); 
  29.         } catch (SQLException ex2) { 
  30.             ex2.printStackTrace(); 
  31.         } catch (Exception ex2) { 
  32.             ex2.printStackTrace(); 
  33.         } finally { 
  34.             try { 
  35.                 if (rs != null) { 
  36.                     rs.close();
  37.                     if (con != null) { 
  38.                         con.close(); 
  39.                     } 
  40.                 } 
  41.             } catch (SQLException ex1) { 
  42.             } 
  43.         } 
  44.     } 

存储过程:

 
  
  1. CREATE OR REPLACE PROCEDURE TESTA(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2)  AS 
  2. BEGIN 
  3. INSERT INTO BOOK(Bookname,BOOKPRICE)VALUES(PARA1,PARA2); 
  4. END TESTA; 

oracle 10.0.1.0驱动:见附件