Есть таблица Oracle, названная зарезервированным словом, какие проблемы могут возникнуть?


Мы только что получили систему на аутсорсинг, и на первый взгляд я могу видеть некоторые таблицы и поля с именами как CASE или FROM. Это Oracle 10G DB, и мы будем потреблять эти данные из Java, Hibernate, C#, C++.

Есть ли что-то особенное, о чем мы должны знать?

Для того, что я видел в других сообщениях, это не рекомендуется, потому что это повлияет на читаемость нашего кода, но есть ли какие-либо другие, серьезные или более серьезные проблемы, которые это может вызвать?

Спасибо!

1 2

1 ответ:

Чтобы избежать зарезервированных слов в Oracle, необходимо заключить их (в данном случае имя таблицы) в двойные кавычки. IE:

SELECT *
  FROM "CASE"

В противном случае вы получите сообщение об ошибке "ORA-00903: недопустимое имя таблицы". IIRC, Oracle рассматривает текст внутри двойных кавычек как чувствительный к регистру, поэтому вы все еще можете получить ошибку, если имя таблицы было создано в нижнем регистре при использовании примера запроса.

Кроме этого, я могу видеть только обычную проблему с плохо названными сущностями / атрибутами.