想实现一个功能, 就是写了一个存储过程 create procedure test()想通过 Java 对这个存储过程进行编译, 不知道怎么实现

解决方案 »

  1.   

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

  2.   

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

  3.   

    调用存储过程:DBMS_DDL.ALTER_COMPILE(....),自己查一下怎么用这个存储过程吧
      

  4.   

    顶2楼为什么一定要Java编译存储过程,难倒动态创建存储过程?一般Java负责调用{ call test(?) }