Come faccio a sfuggire a una parola riservata in Oracle?

In TSQL potrei usare qualcosa come Select [table] from tablename per selezionare una colonna chiamata “table”.

Come faccio questo per le parole riservate in oracle?

Modifica: ho provato parentesi quadre, virgolette doppie, virgolette singole e backquote, non funzionano …

Come ulteriore chiarimento, ho una colonna che qualcuno ha nominato commento. Poiché si tratta di un oracle riservato, il chucking di un traballante tentativo di selezionare con esso, il suo fallimento durante l’analisi della query. Ho provato a selezionare “commenti” da tablename ma non ha funzionato. Controllerò il caso e tornerò.

Da una ricerca rapida, Oracle sembra utilizzare le virgolette doppie ( " , ad esempio "table" ) e apparentemente richiede il caso corretto , poiché per chiunque sia interessato MySQL utilizza i backtick (`) tranne quando è impostato per utilizzare le virgolette doppie per la compatibilità.

Oracle richiede normalmente virgolette per delimitare il nome degli identificatori nelle istruzioni SQL, ad es

 SELECT "MyColumn" AS "MyColAlias" FROM "MyTable" "Alias" WHERE "ThisCol" = 'That Value'; 

Tuttavia, consente gentilmente di omettere le virgolette, nel qual caso converte tranquillamente l’identificatore in maiuscolo:

 SELECT MyColumn AS MyColAlias FROM MyTable Alias WHERE ThisCol = 'That Value'; 

viene convertito internamente in qualcosa di simile:

 SELECT "ALIAS" . "MYCOLUMN" AS "MYCOLALIAS" FROM "THEUSER" . "MYTABLE" "ALIAS" WHERE "ALIAS" . "THISCOL" = 'That Value'; 

le doppie virgolette hanno funzionato in oracle quando ho avuto la parola chiave come uno del nome della colonna.

per esempio:

 select t."size" from table t 

Oracle utilizza le virgolette doppie, ma è molto probabile che sia necessario posizionare il nome dell’object in maiuscolo, ad esempio “TABELLA”. Di default, se crei un object senza virgolette, es

 CREATE TABLE table AS ... 

Oracle creerebbe l’object come maiuscolo . Tuttavia, il riferimento non è sensibile al maiuscolo e minuscolo a meno che non si utilizzino virgolette doppie!

devi rinominare la colonna con un altro nome perché TABLE è riservato da Oracle.

Puoi vedere tutte le parole riservate di Oracle nella vista Oracle V$RESERVED_WORDS .