java 呼叫oracle 儲存過程
1)在oracle的scott下,建立一個儲存過程(查詢工資最高人的資訊,假設只有一個)
create or replace procedure proc_querysal( v_empno out emp.empno%type , v_ename out emp.ename%type , v_sal out emp.ename%type )
as
begin
select empno , ename , sal into v_empno ,v_ename , v_sal from emp where sal = (select max(sal) from emp);
end;
/
2)java 呼叫 proc_querymax
package com.wp.oracle;
import java.sql.CallableStatement;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Types;
public class OracleConn
{
private final static String DB_URL = "jdbc:oracle:thin:@192.168.0.22:1521:simple";
private final static String DB_DRIVER = "oracle.jdbc.driver.OracleDriver";
private final static String DB_USERNAME = "scott";
private final static String DB_PASSWORD = "scott";
public Connection getConnection()
{
Connection conn = null;
try
{
/** 使用Class.forName()方法自動建立這個驅動程式的例項且自動呼叫DriverManager來註冊它 */
Class.forName(DB_DRIVER);
/** 通過DriverManager的getConnection()方法獲取資料庫連線 */
conn = DriverManager.getConnection(DB_URL, DB_USERNAME, DB_PASSWORD);
/*
if (conn != null)
{
System.out.print("OK");
};
*/
} catch (Exception ex)
{
ex.printStackTrace();
}
return conn;
}
public void closeConnection(Connection conn)
{
try
{
if (conn != null)
{
/** 判斷當前連線連線物件如果沒有被關閉就呼叫關閉方法 */
if (!conn.isClosed())
{
conn.close();
}
}
} catch (Exception ex)
{
ex.printStackTrace();
}
}
public static void main(String[] args)
{
OracleConn racleConn = new OracleConn();
Connection conn = oracleConn.getConnection();
try
{
/*
Statement proc = conn.createStatement();
proc.execute("call scott.dept_proc() ");
*/
CallableStatement proc = conn.prepareCall("{call scott.proc_querysal(?,?,?)}");
proc.registerOutParameter(1, Types.INTEGER);
proc.registerOutParameter(2, Types.VARCHAR);
proc.registerOutParameter(3, Types.INTEGER);
proc.execute();
String result = "工資最高人的資訊:編號:"+proc.getInt(1)+",姓名:"+proc.getString(2)+",工資:"+proc.getInt(3);
System.out.print(result);
} catch (SQLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
oracleConn.closeConnection(conn);
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27009266/viewspace-748271/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- java中呼叫ORACLE儲存過程JavaOracle儲存過程
- 用java呼叫oracle儲存過程JavaOracle儲存過程
- 用java呼叫oracle儲存過程總結JavaOracle儲存過程
- Java呼叫Oracle儲存過程的問題JavaOracle儲存過程
- java中呼叫儲存過程Java儲存過程
- C#呼叫 oracle儲存過程C#Oracle儲存過程
- C#呼叫Oracle儲存過程C#Oracle儲存過程
- Sqlsugar呼叫Oracle的儲存過程SqlSugarOracle儲存過程
- 呼叫儲存過程儲存過程
- oracle goldengate 呼叫儲存過程案例OracleGo儲存過程
- Jsp中呼叫Oracle儲存過程JSOracle儲存過程
- Oracle 儲存過程分頁 + Sqlsugar呼叫Oracle儲存過程SqlSugar
- oracle父儲存過程呼叫子儲存過程procedure與輸出引數Oracle儲存過程
- Winform呼叫儲存過程ORM儲存過程
- perl呼叫儲存過程儲存過程
- jdbc呼叫儲存過程JDBC儲存過程
- SQL 儲存過程裡呼叫另一個儲存過程SQL儲存過程
- mysql如何呼叫儲存過程MySql儲存過程
- linux呼叫儲存過程Linux儲存過程
- PB中呼叫儲存過程儲存過程
- php呼叫mssql儲存過程PHPSQL儲存過程
- 在儲存過程A中呼叫儲存過程B的結果儲存過程
- Java呼叫SQL Server的儲存過程詳解JavaSQLServer儲存過程
- Java呼叫儲存過程(帶輸出引數)Java儲存過程
- ibatis呼叫oracle儲存過程(極簡版)BATOracle儲存過程
- Hibernate呼叫oracle儲存過程的問題Oracle儲存過程
- java儲存過程Java儲存過程
- Oracle儲存過程Oracle儲存過程
- java呼叫oracle儲存過程的自定義型別(可變陣列)JavaOracle儲存過程型別陣列
- 儲存過程語法與Java程式的呼叫方式儲存過程Java
- java儲存過程呼叫servlet的授權問題Java儲存過程Servlet
- jsp中呼叫儲存過程JS儲存過程
- Spring mybatis 呼叫儲存過程SpringMyBatis儲存過程
- 用PHP呼叫MySQL儲存過程PHPMySql儲存過程
- c / c + + 呼叫mysql儲存過程MySql儲存過程
- 動態呼叫儲存過程 sample:儲存過程
- vb呼叫儲存過程的方法儲存過程
- 儲存過程呼叫其他模式的儲存過程需要注意的地方儲存過程模式