Есть таблица Oracle, названная зарезервированным словом, какие проблемы могут возникнуть?
Мы только что получили систему на аутсорсинг, и на первый взгляд я могу видеть некоторые таблицы и поля с именами как CASE или FROM. Это Oracle 10G DB, и мы будем потреблять эти данные из Java, Hibernate, C#, C++.
Есть ли что-то особенное, о чем мы должны знать?Для того, что я видел в других сообщениях, это не рекомендуется, потому что это повлияет на читаемость нашего кода, но есть ли какие-либо другие, серьезные или более серьезные проблемы, которые это может вызвать?
Спасибо!
1 ответ:
Чтобы избежать зарезервированных слов в Oracle, необходимо заключить их (в данном случае имя таблицы) в двойные кавычки. IE:
SELECT * FROM "CASE"
В противном случае вы получите сообщение об ошибке "ORA-00903: недопустимое имя таблицы". IIRC, Oracle рассматривает текст внутри двойных кавычек как чувствительный к регистру, поэтому вы все еще можете получить ошибку, если имя таблицы было создано в нижнем регистре при использовании примера запроса.
Кроме этого, я могу видеть только обычную проблему с плохо названными сущностями / атрибутами.