Dans TSQL, je pourrais utiliser quelque chose comme Select [table] from tablename
pour sélectionner une colonne nommée "table".
Comment faire cela pour les mots réservés dans oracle?
Edit: J'ai essayé des accolades, des guillemets doubles, des guillemets simples et des guillemets, ils ne fonctionnent pas ...
Pour clarifier davantage, j'ai une colonne que quelqu'un a nommée comment. Comme il s'agit d'un mot réservé, oracle est en train d'essayer de sélectionner avec lui, ce qui échoue lors de l'analyse de la requête. J'ai essayé de sélectionner "comment" depuis le nom de la table, mais cela n'a pas fonctionné. Je vais vérifier le cas et revenir.
oracle
reserved-words
Spence
la source
la source
Réponses:
À partir d'une recherche rapide, Oracle semble utiliser des guillemets doubles (
"
par exemple"table"
) et nécessite apparemment la casse correcte - alors que, pour toute personne intéressée, MySQL utilise par défaut des guillemets (`) sauf lorsqu'il est configuré pour utiliser des guillemets doubles pour la compatibilité.la source
Oracle nécessite normalement des guillemets doubles pour délimiter le nom des identificateurs dans les instructions SQL, par exemple
Cependant, il permet gracieusement d'omettre les guillemets, auquel cas il convertit tranquillement l'identifiant en majuscules:
est converti en interne en quelque chose comme:
la source
les guillemets doubles fonctionnaient dans oracle lorsque j'avais le mot-clé comme nom de colonne.
par exemple:
la source
Oracle utilise des guillemets doubles, mais vous devrez probablement placer le nom de l'objet en majuscules, par exemple "TABLE". Par défaut, si vous créez un objet sans guillemets, par exemple
Oracle créerait l'objet en majuscules . Cependant, le référencement n'est pas sensible à la casse sauf si vous utilisez des guillemets doubles!
la source
vous devez renommer la colonne en un autre nom car
TABLE
est réservée par Oracle.Vous pouvez voir tous les mots réservés d'Oracle dans la vue oracle
V$RESERVED_WORDS
.la source
ORA-00942
quand j'essaye unselect * from V$RESERVED_WORDS
.