一、Oracle數(shù)據(jù)新建測(cè)試表和存儲(chǔ)過(guò)程
1、新建test表
create table test( name varchar2 ( 5 ) primary key , password varchar2 ( 5 ) not null )
2、新建帶參數(shù)的存儲(chǔ)過(guò)程pro_add_test用來(lái)向test表中插入一條數(shù)據(jù)
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、測(cè)試一下存儲(chǔ)過(guò)程,插入一條數(shù)據(jù)
begin pro_add_test( ' p ' , ' 1 ' ); end ;
?
二、Java內(nèi)中調(diào)用存儲(chǔ)過(guò)程
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(){ // 獲得數(shù)據(jù)庫(kù)連接對(duì)象 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){ // 調(diào)用存儲(chǔ)過(guò)程 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函數(shù)中測(cè)試 Procedure p = new Procedure(); p.pro_add( "test", "pass" ); } }
數(shù)據(jù)庫(kù)中查看就會(huì)發(fā)現(xiàn)多了一天“test”-“pass”的數(shù)據(jù)。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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