Posted on 2013-06-18 20:47
张力 阅读(111)
评论(0) 编辑 收藏
测试的存储过程
CREATE OR REPLACE PROCEDURE IRS_TEST(FLAG out VARCHAR) --这里要定义一个out输出变量
AS
BEGIN
FLAG:='1';
DBMS_OUTPUT.put_line(FLAG); --输出变量
END;
java代码
public String updateFinancialData() {
CallableStatement proc = null;
String keycode = "";
try{
proc = this.getSession().connection().prepareCall("{ call IRS_TEST(?) }"); --这里没有输入变量则只填写一个占位符?如果有则增加相应的?并设置值
proc.registerOutParameter(1, Types.VARCHAR); --这里定义一个输出参数,用于替代上面存储过程的输出占位符?
proc.executeUpdate();
keycode = proc.getString(1);
}catch(Exception e){
throw new RuntimeException(e);
}
return keycode;
}
如果报java.lang.RuntimeException:java.sql.SQLException: 无效的列索引,请注意我标红的部分