java調用存儲過程,java調運oracle存儲過程,java連接oracle資料庫實例,oracle中的plsql塊入門講解 ...
緊接基礎六,對oracle角色和許可權的管理之後,在接下來的幾次總結中來就最近工作中用過的plsql編程方面的知識進行總結,和大家分享!
原創作品,轉自請註明出處:https://www.cnblogs.com/sunshine5683/p/10296531.html
一、plsql塊
1、只包括執行部分的plsql塊
打開輸出選項:set serveroutput on;
begin
dbms_output.put_line('');
end;
如上,只有打開了serveroutput才可以看到輸出信息。
2、包含定義部分和執行部分的plsql塊
declare
v_name varchar2(5);--定義字元串變數
begin
select ename into v_name from emp where empno=&no;
dbms_output.put_line(‘雇員們’||v_name);
end
輸入編號,OK
3、包含定義部分、執行部分、例外處理部分的plsql塊(即完整的plsql塊)
在通常的plsql塊中,難免會遇到執行中的錯誤,然後再編寫的過程中應該儘量對可能出現的異常進行處理,所以這種情況下異常處理就顯得格外重要。
declare
v_name varchar2(5);--定義字元串變數
begin
select ename into v_name from emp where empno=&no;
dbms_output.put_line(‘雇員們’||v_name);
exception
when no_data_found then
dbms_output.put_line('輸入有誤');
end
下麵實例就是當輸入的編號不存在時,不會保存,輸出提示“輸入有誤”!
4、創建存儲過程
create procedure sp_test1(spName varchar2, newsal number)is
begin
update scott.emp set sal=newsal where ename=spName;
end;
調用該存儲過程
由上圖可以看到調用存儲過程前後的變化
二、使用java調用存儲過程
1 //使用java調用oracle中的存儲過程 2 //註意要引入oracle的jar包classes12.jar 3 package xhq.test; 4 import java.sql.*; 5 public class TestOracleProcedure{ 6 public static void main(String [] args){ 7 try{ 8 //1、載入驅動 9 Class.forName("oracle.jdbc.driver.OracleDriver"); 10 //2、得到連接 11 Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","user","password"); 12 //創建CallableStatement 13 CallableStatement cs = conn.prepareCall("{call sp_test1(?,?)}"); 14 //給?賦值 15 cs.setString(1,"SMITH"); 16 cs.setInt(2,10); 17 //執行 18 cs.execute(); 19 //關閉 20 cs.close(); 21 conn.close(); 22 }catch(Exception e){ 23 e.printStackTrace(); 24 } 25 } 26 }
今天總結到此結束,下次接著繼續總結!