解决方法:
执行sql语句时,使用java.sql.Statement代替java.sql.PreparedStatement。
java.sql.PreparedStatement ps = conn.prepareStatement(sql);
ps.execute();
被
java.sql.Statement state = conn.createStatement();
state.execute(sql1);
代替。即可成功添加触发器。
研究:
Statement与PreparedStatement的区别: PreparedStatement接口继承Statement,PreparedStatement是预处理语句,其性能、安全性、可读性高于Statement。满足情况的条件下,要尽可能的使用PreparedStatement来执行sql语句。
以上问题可能是由于预处理语句对原sql语句重新处理后,未通过编译,导致报错。还需深入研究,待补充
转载于:https://www.cnblogs.com/zl181015/p/10481975.html
最后
以上就是清新玉米最近收集整理的关于使用java程序对oracle添加触发器时,报错:索引中丢失 IN 或 OUT 参数:: 1的全部内容,更多相关使用java程序对oracle添加触发器时,报错:索引中丢失内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复