java调用oracle存储过程

 -- Create table
create table T_STUDENT
(
  STU_ID    VARCHAR2(10) not null,
  STU_NAME  VARCHAR2(20) not null,
  STU_AGE   NUMBER not null,
  STU_SCORE NUMBER(3,1) not null,
  STU_SEX   NUMBER default 0 not null
)
tablespace PADATASPACE1
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 64K
    next 1M
    minextents 1
    maxextents unlimited
  );

create or replace procedure updateStdentScore(
p_stu_id in t_student.stu_id%type,
p_stu_score in t_student.stu_score%type) as

score number;

begin
  select stu_score into score from t_student where stu_id = p_stu_id;
  update t_student set stu_score = score + 10 where stu_id = p_stu_id;
  commit;
end;

java代码:

package com.yy;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DBUtil {
 public static Connection getConnection() {
  Connection conn = null;
  try {
   Class.forName("oracle.jdbc.driver.OracleDriver");
   String url = "jdbc:oracle:thin:@192.168.194.76:1521:idb";
   String user = "aa";
   String password = "bb";
   conn = DriverManager.getConnection(url, user, password);
  } catch (Exception e) {
   System.out.println(e);
  }
  return conn;
 }

 public static void main(String[] args) {
  try {
   String sql = "{call updateStdentScore(?, ?)}";
   CallableStatement cstmt = getConnection().prepareCall(sql);
   cstmt.setInt(1, 5);
   cstmt.setInt(2, 80);
   cstmt.executeUpdate();
   System.out.println("修改成功");
  } catch (SQLException e) {
   e.printStackTrace();
  }
 }
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值