Я предполагаю, что здесь «поля» вы подразумеваете «имена столбцов».
Имейте в виду, что имена столбцов в Oracle не чувствительны к регистру, если вы не помещаете их в кавычки при создании таблицы. Как правило, не рекомендуется использовать кавычки вокруг имен столбцов при создании таблицы. Другими словами, если вы создаете таблицу, как это:
CREATE TABLE FOO (
colUMN1 varchar2(10),
CoLumn2 number(38)
)
Затем вы можете запустить операторов выбора, как это:
SELECT column1, column2 FROM FOO
Вы также можете сделать это:
SELECT COLUMN1, COLUMN2 FROM FOO
Также обратите внимание, что если вы запустите этот запрос, вы увидите, что Oracle хранит имена столбцов в словаре данных в верхнем регистре:
SELECT * FROM ALL_TAB_COLUMNS WHERE TABLE_NAME = 'FOO'
Поэтому нет необходимости переименовывать эти столбцы во все прописные буквы. Запросы, которые вы пишете, могут использовать все имена в верхнем регистре (при условии, что таблицы не были созданы с использованием кавычек вокруг имен столбцов), и они будут работать нормально. Как правило, это плохая идея, чтобы заставить их быть чувствительными к регистру.
Это камни! Однако, поскольку мы не знали в нашей среде, кто еще мог написать запросы к таблицам в нашей схеме с использованием названий столбцов, мы ограничили наш внутренний запрос user_tab_cols, чтобы повлиять только на таблицы, которые, как мы знали, были безопасными для нас. В противном случае мы могли бы сломать чей-то код, так как их потенциальное использование имени котируемого столбца во встроенном SQL тогда не нашло бы имя столбца верблюжьего случая, которое у нас впоследствии было бы сверху. Спасибо тонну за это. – noogrub