这是一个用JAVA调用存储过程的问题,要用到JDBC的CallableStatement接口了
………………………………
CallableStatement stm = null;
stm = con.prepareCall("call djdxgtodjd(?)");//调用存储过程
stm.setString(1," and rq>sysdate ");//传入参数,有些数据类型要做一下灵活变动
stm.executeUpdate();//执行存储过程;因为该存储过程没有返回结果.所以无需设置返回参数!
 …….close()之类的语句!
………………………………

解决方案 »

  1.   

    要调用dbms_sql包
    具体的可以查看包的语法
      

  2.   

    to : qiyousyc(沈阳棋友) 
    不知道这个东西怎么用
    只看到包里有一些过程函数的
    那里有讲这些东西的书呢?
      

  3.   

    看pl/sql开发的书简单的动态sql
    //动态的修改或删除sql语法
    is
    v_cursor number;
    v_sel varchar2(100);
    v_num integer;
    begin
    v_sel:='UPDATE XZ_COMPARE_SOURCE SET COST=34';
    v_cursor:=DBMS_SQL.OPEN_CURSOR;
    DBMS_SQL.PARSE(v_cursor,v_sel,DBMS_SQL.V7);
    v_num:=DBMS_SQL.EXECUTE(v_cursor);
    DBMS_SQL.CLOSE_CURSOR(v_cursor);
    UPDATE XZ_COMPARE_SOURCE SET AMOUNT=v_num;
    EXCEPTION
    WHEN OTHERS THEN
    UPDATE XZ_COMPARE_SOURCE SET AMOUNT=3;
    end;