Oracle学习笔记(二十三)——过程

本文介绍了一个具体的Oracle存储过程示例,展示了如何通过SQL创建一个能够更新员工工资的过程,并提供了Java程序调用该过程的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值