我有執行使用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