Java 运行存储过程

CHR_WHY 2010-10-27 03:09:04
想实现一个功能, 就是写了一个存储过程

create procedure test()

想通过 Java 对这个存储过程进行编译, 不知道怎么实现
...全文
69 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
水中影子 2010-10-27
  • 打赏
  • 举报
回复
顶2楼

为什么一定要Java编译存储过程,难倒动态创建存储过程?

一般Java负责调用{ call test(?) }
delphisanding1 2010-10-27
  • 打赏
  • 举报
回复
好难啊
不懂
majy 2010-10-27
  • 打赏
  • 举报
回复
调用存储过程:DBMS_DDL.ALTER_COMPILE(....),自己查一下怎么用这个存储过程吧
ngx20080110 2010-10-27
  • 打赏
  • 举报
回复


Statement stmt = conn.createStatement();
stmt.execute("create or replace procedure proc_test999(pin number, pout out number) is " +
"begin " +
" pout := pin * pin; " +
"end;"); // 创建存储过程
stmt.close();

CallableStatement cstmt = conn.prepareCall("{call proc_test999(?,?)}"); // 调用存储过程
cstmt.setInt(1, 15);
cstmt.registerOutParameter(2, oracle.jdbc.OracleTypes.INTEGER);
cstmt.execute();
System.out.println(cstmt.getInt(2));
cstmt.close();

zkl516321905 2010-10-27
  • 打赏
  • 举报
回复
存储过程是数据库的事情,如果要java执行存储过程,通过JDBC里面的对像调用就是了啊。
JDBC中有方法的,可以通过JDBC调用存储过程执行对象。
create procedure test();这个是你编写的存储过程,
java类中方法编写
String sql = "{ call test(?) }"; 申明一个变量
CallableStatement cs = con.prepareCall(sql);通过JDBC里面的CallableStatement 对象来调用你的存储过程,然后返回相应结果集,然后在返回给实体bean,最终显示于前台对象。做你想做的事情的。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧