Oracle数据库连接与调用简单的存储过程
Oracle数据库连接、对存储过程的调用
create table chengji(id number,xing_ming varchar2(25),yu_wen number,shu_xue number)
--查询所有信息select * from chengji
--无返回值类型的存储过程
create procedure cj_proc_1 is
begin
insert into chengji values (3, 'wangwu', 90, 90);
commit;
end;
--输入一个值有一个值返回的存储过程
create procedure cj_proc_2
(x_name in varchar2,x_num out number) is
num_1 number;num_2 number;
begin
select yu_wen,shu_xue into num_1,num_2 from chengji where xing_ming = x_name;x_num:=num_1+num_2;
end;
数据库连接:
public static void main(String[] args) {
Connection conn=null;
//数据库连接
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "system", "admin");
} catch (Exception e) {
e.printStackTrace();
}
//对数据库进行操作
try {
CallableStatement proc=null;
proc=conn.prepareCall("{call cj_proc_2(?,?)}");
proc.setString(1,"zhangsan");
proc.registerOutParameter(2, Types.NUMERIC);
proc.execute();
String jieguo=proc.getString(2);
System.out.println("================="+jieguo);
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}