Я до сих пор довольно новичок в Oracle SQL, но я просмотрел интернет, чтобы просто случайным образом вытащить строку из таблицы и увидеть такой код.DBMS_RANDOM, похоже, не работает
firstNameGen = connection.prepareStatement(
"SELECT firstName "
+"FROM (SELECT firstName "
+"FROM firstNames "
+"ORDER BY dbms_random.value) "
+"WHERE ROWNUM = 1");
Это не работает для меня. Очевидно, что я изменил все имена столбцов и таблиц в соответствии с моей собственной базой данных, но это просто говорит мне: «ERROR 42X01: Синтаксическая ошибка: встречается« WHERE »в строке 1, колонка 58.«
Я работаю в Eclipse. Нужно ли мне импортировать функции для использования dbms_random или я просто что-то пропустил? Любая помощь будет оценена по достоинству.
Это выглядит хорошо, так что, может быть, вы потеряли эту проблему (как недостающий пробел или скобки) при изменении фамилии; можете ли вы опубликовать свой исходный запрос? Это не похоже на собственную ошибку Oracle, так что, возможно, у вас есть средний уровень, который не нравится синтаксису подзапроса? –
Вы ждали результата? несколько раз для получения результатов требуется несколько минут при использовании 'ORDER BY dbms_random.value' – jfun
Оператор синтаксически корректен. Поэтому я думаю, что это не Oracle, жалующийся на синтаксис, но некоторый уровень Java db ошибочно. –