Oracle總結之plsql編程(基礎七)

緊接基礎六,對oracle角色和權限的管理以後,在接下來的幾回總結中來就最近工做中用過的plsql編程方面的知識進行總結,和你們分享!html

原創做品,轉自請註明出處:https://www.cnblogs.com/sunshine5683/p/10296531.html
java

1、plsql塊sql

一、只包括執行部分的plsql塊編程

打開輸出選項:set serveroutput on;oracle

beginapp

dbms_output.put_line('');spa

end;.net

如上,只有打開了serveroutput才能夠看到輸出信息。3d

二、包含定義部分和執行部分的plsql塊code

declare

v_name  varchar2(5);--定義字符串變量

begin

select ename into v_name from emp where empno=&no;

dbms_output.put_line(‘僱員們’||v_name);

end

輸入編號,OK

三、包含定義部分、執行部分、例外處理部分的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

下面實例就是當輸入的編號不存在時,不會保存,輸出提示「輸入有誤」!

四、建立存儲過程

create procedure sp_test1(spName varchar2, newsal number)is

begin

update scott.emp set sal=newsal where ename=spName;

end;

調用該存儲過程

由上圖能夠看到調用存儲過程先後的變化

2、使用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             //一、加載驅動
 9             Class.forName("oracle.jdbc.driver.OracleDriver");
10             //二、獲得鏈接
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 }

今天總結到此結束,下次接着繼續總結!


相關文章
相關標籤/搜索