Oracle
 sql >> Baza danych >  >> RDS >> Oracle

ORA-00942:tabela lub widok nie istnieje — Oracle

Umieszczenie podwójnego cudzysłowu wokół identyfikatora w Oracle powoduje, że Oracle traktuje identyfikator jako rozróżniający wielkość liter, zamiast używać domyślnej niewrażliwości na wielkość liter. Jeśli tworzysz tabelę (lub kolumnę) z podwójnym cudzysłowem wokół nazwy, zawsze musisz odwoływać się do identyfikatora w podwójnych cudzysłowach i poprawnie określając wielkość liter (z wyjątkiem wszystkich identyfikatorów pisanych wielkimi literami, gdzie podwójne cudzysłowy nie mają znaczenia ).

Pod przykrywkami Oracle zawsze dopasowuje identyfikatory z uwzględnieniem wielkości liter. Ale zawsze rzuca identyfikatory, które nie są w podwójnym cudzysłowie, na duże litery przed wykonaniem dopasowania. Jeśli umieścisz podwójny cudzysłów wokół identyfikatora, Oracle pominie rzutowanie na wielkie litery.

Więc jeśli zrobisz coś takiego

CREATE TABLE my_table( 
col1 number,
col2 number
)

możesz

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

ale coś takiego

 SELECT * FROM "my_table"

nie powiedzie się.

Z drugiej strony, jeśli zrobisz coś takiego

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

nie możesz zrobić

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

ale to

SELECT * FROM "my_other_table"

zadziała




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak połączyć wartości dwóch wierszy w jeden wiersz dla tego samego identyfikatora?

  2. Zapytanie w celu znalezienia pracowników, którzy skorzystali z więcej niż przysługującego im urlopu w odniesieniu do ich ról zawodowych

  3. Dzielenie ciągów w PL/SQL

  4. Czy istnieje funkcja sum MD5 w PL/SQL?

  5. Kolekcja Oracle w klauzuli gdzie