我有执行使用JDBC预备语句如下麻烦:如何执行此Oracle声明JDBC
CREATE OR REPLACE TRIGGER Time_trg BEFORE INSERT ON Time FOR EACH ROW
BEGIN
SELECT Time_seq.NEXTVAL INTO :new.id FROM dual;
END;
代码:
try {
PreparedStatement statement = connection.prepareStatement(sql);
preparedStatement.executeUpdate();
} finally {
statement.close();
}
我得到这个错误:
java.sql.SQLException: Missing IN or OUT parameter at index:: 1
我工作的一个数据库无关的解决方案,所以我需要的东西,是便携式的。那么,甲骨文的问题是什么?
问题风险的PreparedStatement的命名参数语法与Oracle的冲突:新语法,并且无法在PreparedStatements中转义命名参数。因此,您已经使用了一个Statemen而不是PreparedStatement来颠覆这个小问题。 – chubbsondubs 2014-09-29 20:25:56