Декодирование строки запроса URI в Java

Они точно такие же в вашем примере. Из документации :

Каждый объект базы данных имеет имя. В операторе SQL вы представляете имя объекта с заключенным в кавычки идентификатором или без кавычки идентификатором .

  • Заключенный в кавычки идентификатор начинается и заканчивается двойными кавычками ("). Если вы называете объект схемы, используя заключенный в кавычки идентификатор, то вы должны использовать двойные кавычки всякий раз, когда ссылаетесь на этот объект. [ 1119]

  • Идентификатор без кавычек не заключен в знаки препинания.

Вы можете использовать идентификаторы в кавычках или без кавычек для именования любого объекта базы данных ...

blockquote>

и

Идентификаторы без кавычек не чувствительны к регистру. Oracle интерпретирует их как прописные. Идентификаторы в кавычках чувствительны к регистру.

blockquote>

Итак , ORDER_NO не заключено в кавычки и не учитывает регистр, и Oracle обрабатывает имя как заглавные - так эффективно, когда он ищет в словаре данных соответствующее имя столбца (в представлении all_tab_columns), он ищет точное строковое значение 'ORDER_NO'. Это также относится к случаю, если вы не заключили в кавычки order_no или Order_No, или к любому другому сочетанию падежей, потому что Oracle без кавычек все еще рассматривает его как верхний case и ищет внутри 'ORDER_NO'.

"ORDER_NO" в кавычках, так что он чувствителен к регистру, но, так как он в любом случае в верхнем регистре, не имеет значения. Oracle все еще ищет столбец в словаре данных под названием 'ORDER_NO'.

Если фактический идентификатор объекта (например, имя столбца) находится в верхнем регистре в словаре данных, то не имеет значения, если вы предоставите его в качестве не заключенного в кавычки идентификатора в любом случае или в качестве заключенного в кавычки идентификатора в верхнем регистре.

Что вы не можете сделать, это использовать кавычки и другой регистр. "ORDER_NO" хорошо; "order_no" или "Order_No", или любой другой процитированный смешанный регистр не будет соответствовать тому, что есть в словаре данных.

Хотя вы можете создавать объекты с указанными в кавычках идентификаторами, которые не в верхнем регистре (или которые включают или начинаются с иным образом недопустимых символов, как показано в правилах, перечисленных в этой документации), обычно это считается плохой идеей для вас тогда всегда должны использовать кавычки и точно такой же случай. И в документации также отмечается:

Oracle не рекомендует использовать заключенные в кавычки идентификаторы для имен объектов базы данных. Эти указанные в кавычках идентификаторы принимаются SQL * Plus, но они могут быть недействительными при использовании других инструментов, управляющих объектами базы данных.

BLOCKQUOTE>

24
задан Jason S 11 May 2017 в 16:39
поделиться