sql >> Databáze >  >> RDS >> Oracle

ORA-00942:tabulka nebo pohled neexistuje - Oracle

Umístění identifikátoru do dvojitých uvozovek v Oracle způsobí, že Oracle bude s identifikátorem zacházet jako s rozlišujícími malá a velká písmena namísto použití výchozího rozlišení malých a velkých písmen. Pokud vytváříte tabulku (nebo sloupec) s dvojitými uvozovkami kolem názvu, musíte vždy odkazovat na identifikátor s dvojitými uvozovkami a správným uvedením velikosti písmen (s výjimkou všech identifikátorů velkých písmen, kde dvojité uvozovky nemají význam ).

Oracle pod krytem vždy provádí porovnávání identifikátorů s rozlišením velkých a malých písmen. Ale vždy před porovnáváním přetypuje identifikátory, které nejsou v uvozovkách velkými písmeny. Pokud kolem identifikátoru dáte dvojité uvozovky, Oracle přeskočí přetypování na velká písmena.

Pokud tedy uděláte něco jako

CREATE TABLE my_table( 
col1 number,
col2 number
)

můžete

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

ale něco jako

 SELECT * FROM "my_table"

selže.

Na druhou stranu, pokud uděláte něco jako

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

nemůžete udělat

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

ale toto

SELECT * FROM "my_other_table"

bude fungovat




  1. Proč je návrat MySQL vždy 1 v kódu C#, ale ne, když testuji v uložené proceduře?

  2. Použít e-mailovou adresu jako primární klíč?

  3. Ukládání času mezi záznamy

  4. Správa zásob s opcemi na akcie