Я хочу обновить строку, после которой я хочу получить всю строку в Oracle SQL.Таблица и соответствующий запрос, который я использую, показаны ниже.Я хочу не запрашивать БД дважды.Следовательно, я делаю выбор после обновления, но я сталкиваюсь с ошибкой, показанной после запроса.Есть идеи, как это исправить?
CREATE TABLE mytable (
sid NUMBER NOT NULL,
eid VARCHAR(18) NOT NULL,
first TIMESTAMP,
updated TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
created TIMESTAMP,
status VARCHAR(30),
tid VARCHAR(18),
wid VARCHAR(18),
CONSTRAINT mytable_pk PRIMARY KEY (sid, eid)
ENABLE
);
BEGIN
UPDATE mytable SET wid=?, status=? WHERE sid=?;
SELECT * FROM mytable WHERE sid=?;
END;
ОШИБКА:
java.sql.SQLException
ORA-06550: line 3, column 7:
PLS-00428: an INTO clause is expected in this SELECT statement
Соответствующий фрагмент кода Java:
PreparedStatement statement = prepareStatement(sql);
int index = 0;
statement.setString(index++, newWid);
statement.setString(index++, newStatus);
statement.setInt(index++, sid);
statement.setInt(index++, sid);
ResultSet results = statement.executeQuery();
if (results.next()) {
Record rec = new Record();
fill(rec, results);
}
return record;