创建表:
SQL> create table hlBooks(hlBookId number(6),hlBookName varchar2(50),hlPublishHouse varchar2(50));
表已创建。
SQL> desc hlBooks;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
HLBOOKID NUMBER(6)
HLBOOKNAME VARCHAR2(50)
HLPUBLISHHOUSE VARCHAR2(50)
创建存储过程:
SQL> create or replace procedure pro_hlBooks(hlBookId in number,hlBookname in varchar2,hlPublishHous
e in varchar2)
2 as
3 begin
4 insert into hlBooks values(hlBookId,hlBookname,hlPublishHouse);
5 end;
6 /
过程已创建。
通过java调用存储过程往oracle数据库里插数据:
import java.sql.*;
public class noReturnedValue {
public static void main(String[] args) {
CallableStatement cs=null;
Connection conn=null;
try{
//注册驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//获取连接
conn=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:ORA","SCOTT","tiger");
//创建CallableStatement
cs=conn.prepareCall("{call pro_hlBooks(?,?,?)}");
//给?赋值,第一个参数表示给第几个?赋值,从1开始的
cs.setInt(1, 1111);
cs.setString(2, "狼图腾");
cs.setString(3, "人民教育出版社");
//执行
cs.execute();
}
catch(Exception e){
e.printStackTrace();
}
finally{
try{
//逆序关闭
cs.close();
conn.close();
}
catch(Exception e1){
e1.printStackTrace();
}
finally{
}
}
}
}
执行结果:
SQL> set linesize 200;
SQL> select * from hlBooks;
HLBOOKID HLBOOKNAME HLPUBLISHHOUSE
---------- -------------------------------------------------- --------------------------------------
1111 狼图腾 人民教育出版社
PS.
欢迎关注行者摩罗微信公众号(xingzhemoluo),共同交流编程经验,扫描下方二维码即可;