Oracle
 sql >> база данни >  >> RDS >> Oracle

Какво точно правят кавичките около името на таблицата?

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

Под завивките Oracle винаги прави съвпадение на идентификатори, чувствителни към главни букви. Но винаги прехвърля идентификатори, които не са в двойни кавички в главни букви, преди да извърши съвпадението. Ако поставите двойни кавички около идентификатор, Oracle пропуска прехвърлянето към главни букви.

Така че, ако направите нещо като

CREATE TABLE my_table( 
  col1 number,
  col2 number
)

можете

SELECT * FROM my_table
SELECT * FROM MY_TABLE
SELECT * FROM My_Table
SELECT * FROM "MY_TABLE"

но нещо като

SELECT * FROM "my_table" 

ще се провали.

От друга страна, ако направите нещо като

CREATE TABLE "my_other_table"( 
  col1 number,
  col2 number
)

не можете да направите

SELECT * FROM my_other_table
SELECT * FROM MY_OTHER_TABLE
SELECT * FROM My_Other_Table
SELECT * FROM "MY_OTHER_TABLE"

но това

SELECT * FROM "my_other_table" 

ще работи



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Функция NEXT_DAY() в Oracle

  2. PL/SQL:как да подканя въвеждането на потребителя в процедура?

  3. Функция JSON_OBJECT() в Oracle

  4. ORA-01843 не е валиден месец- Сравняване на дати

  5. Изгледът ALL_PROCEDURES не показва PROCEDURE_NAME