本文介紹如何通過java來調用Oracle的存儲過程
1. 編寫存儲過程
CREATE OR REPLACE PROCEDURE sp_pro3(sp_name VARCHAR2,sp_sal NUMBER )
IS
BEGIN
--根據用戶名修改工資
UPDATE emp SET sal=sp_sal WHERE ename=sp_name;
END;
引入jdbc6.jar,編寫測試類Test.java
package testOraclePro;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
public class Test {
public static void main(String[] args) {
try{
//1.加載驅動
Class.forName("oracle.jdbc.driver.OracleDriver");
//2.獲取連接
Connection ct=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:XE","sys as sysdba","123456");
//3.創建CallableStatement
CallableStatement cs=ct.prepareCall("{call sp_pro3(?,?)}");
//4.賦值
cs.setString(1, "zxs");
cs.setFloat(2,455f);
//5.執行
cs.execute();
//6.關閉資源
cs.close();
ct.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
執行上面的測試類,即可調用存儲過程,執行相應的程序了。
tips:可通過下面的SQL語句來獲取數據庫名稱:
SELECT * FROM V$INSTANCE