Итак, у меня есть небольшая проблема с Oracle 12c. Всякий раз, когда я делаю такой запрос, как
SELECT COLUMN_NAME FROM USER_TAB_COLUMNS WHERE table_name = 'EMP';
Я получаю имена столбцов в правильном порядке
empno
ename
...
но когда я снова запускаю его, имена столбцов меняются местами.
deptno
comm
...
ename
empno
Кто-нибудь знает, почему это происходит? Это новая «функция» реализована в 12c, или я просто ошибаюсь? И самое главное, есть ли способ исправить это? Заранее спасибо и извините, если это глупый вопрос.
ORDER BY
для получения детерминированного вывода. Неужели это меняется каждый раз? Oracle обычно не так часто меняет планы выполнения. Изменение в планах выполнения может быть вызвано: перерасчетом статистики, любопытством к динамической выборке или базовыми показателями производительности. Если план выполнения действительно менялся при каждом выполнении, возможно, вы обнаружили ошибку в Oracle. - person ibre5041   schedule 19.05.2015