天天看点

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();
                }
    
          }
    
    }