一、Oracle數據新建測試表和存儲過程
1、新建test表
create table test( name varchar2 ( 5 ) primary key , password varchar2 ( 5 ) not null )
2、新建帶參數的存儲過程pro_add_test用來向test表中插入一條數據
create or replace procedure pro_add_test(m_name in test.name % type,m_password in test.password % type) is begin insert into test values (m_name,m_password); end ;
3、測試一下存儲過程,插入一條數據
begin pro_add_test( ' p ' , ' 1 ' ); end ;
?
二、Java內中調用存儲過程
package procedureTransfer; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class Procedure { public static Connection getConn(){ // 獲得數據庫連接對象 Connection conn = null ; try { Class.forName( "oracle.jdbc.driver.OracleDriver" ); conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "scott", "tiger" ); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } return conn; } public void pro_add(String name,String pass){ // 調用存儲過程 Connection conn = getConn(); try { CallableStatement cal = conn.prepareCall("{call pro_add_test(?,?)}" ); cal.setString( 1 , name); cal.setString( 2 , pass); cal.execute(); conn.close(); } catch (SQLException e) { e.printStackTrace(); } } public static void main(String[] args) { // main函數中測試 Procedure p = new Procedure(); p.pro_add( "test", "pass" ); } }
數據庫中查看就會發現多了一天“test”-“pass”的數據。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
