天天看點

Oracle學習筆記(二十三)——過程

1、過程: 1)過程:

  • 用于執行特定的操作。
  • 當建立過程時,既可以指定輸入參數(in),也可以指定輸出參數(out)。
  • 通過在過程中使用輸入參數,可以将資料傳遞到執行部分。
  • 通過使用輸出參數,可以将執行部分的資料傳遞到應用環境。
  • 在sql plus中,可以使用create procedure指令來建立過程。

2)案例:

  • 編寫一個過程,可以輸入雇員名、新工資,可修改雇員的工資
    • SQL> create procedure sp_pro3(spName varchar2,newSal number) is--隻需要指定類型,不需要指定大小
            2  --定義變量
            3  begin
            4    --執行部分,根據使用者名修改工資
            5    update emp set sal=newSal where ename=spName;
            6  end;
            7  /
          Procedure created
                 
  • 調用過程
    • SQL> exec sp_pro3('SCOTT',4678);
          PL/SQL procedure successfully completed
                 
  • 在java程式中調用一個存儲過程   
  • //示範java程式調用oracle的存儲過程
    import java.sql.CallableStatement;
    import java.sql.Connection;
    import java.sql.DriverManager;
    
    public class TestOracle {
    
          public static void main(String[] args) {
                 // TODO Auto-generated method stub
                 try {
                       // 1.加載驅動
                      Class. forName("oracle.jdbc.driver.OracleDriver");
                       // 2.得到連接配接
                       Connection ct = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "scott",
                                   "***");
                       // 3.建立CallableStatement
                      CallableStatement cs = ct.prepareCall( "{call sp_pro3(?,?)}");
                       // 4.給?指派
                       cs.setString(1, "SMITH");
                       cs.setInt(2, 10);
    
                       // 5.執行
                       cs.execute();
    
                       // 關閉
                       cs.close();
                       ct.close();
    
                } catch (Exception e) {
                       // TODO Auto-generated catch block
                       e.printStackTrace();
                }
    
          }
    
    }