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