В MY_TABLE, когда поле ORD_AMT обновляется, LST_UPDT_TS также обновляется с помощью current_timestamp. Представлено следующим запросом:Как использовать CURRENT_TIMESTAMP в JDBC (Oracle DB)
UPDATE MY_TABLE
SET ORD_AMT = 50, LST_UPDT_TS = CURRENT_TIMESTAMP
WHERE ORD_ID = 'ORD_123'
Мне нужно реализовать этот бизнес JDBC код, а мой веб-сервер и сервер БД являются разница часовых поясов. Если я передаю Date(). GetTime() в JDBC, это текущий веб-сервер, но мне нужно текущее время сервера БД.
Есть ли способ для передачи CURRENT_TIMESTAMP так:
preparedStatement = dbConnection.prepareStatement(updateOrderSql);
preparedStatement.setFloat(1, 50);
preparedStatement.setTimestamp(2, Timestamp.CURRENT_TIMESTAMP);
preparedStatement.setString(3, 'ORD_123');
preparedStatement.executeUpdate();
Спасибо за вашу помощь.
Вы не можете передать 'CURRENT_TIMESTAMP' в качестве параметра. Просто сохраните ключевое слово в своем SQL и не замените его на '?' –