oracle reserved-words

¿Cómo escapo de una palabra reservada en Oracle?



reserved-words (5)

A partir de una búsqueda rápida, Oracle parece utilizar comillas dobles ( " , por ejemplo, "table" ) y aparentemente requiere el caso correcto, por lo que, para cualquier persona interesada, MySQL utiliza los respaldos (`) predeterminados excepto cuando se configura para usar comillas dobles para compatibilidad.

En TSQL podría usar algo como Select [table] from tablename para seleccionar una columna llamada "tabla".

¿Cómo hago esto para las palabras reservadas en el oráculo?

Editar: He intentado con llaves cuadradas, comillas dobles, comillas simples y comillas invertidas, no funcionan ...

Como aclaración adicional, tengo una columna que alguien llamó comentario. Como esta es una palabra reservada, Oracle está lanzando un tambaleante intento de seleccionar con ella, falla al analizar la consulta. Lo intenté Seleccionar "comentar" de tablename pero no funcionó. Verificaré el caso y regresaré.


Oracle normalmente requiere comillas dobles para delimitar el nombre de los identificadores en las sentencias de SQL, por ejemplo

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

Sin embargo, gentilmente permite omitir las comillas dobles, en cuyo caso convierte el identificador en mayúsculas:

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

se convierte internamente a algo así como:

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


Oracle utiliza comillas dobles, pero lo más probable es que necesite colocar el nombre del objeto en mayúsculas, por ejemplo, "TABLE". De forma predeterminada, si crea un objeto sin comillas dobles, p. Ej.

CREATE TABLE table AS ...

Oracle crearía el objeto en mayúsculas . Sin embargo, la referencia no distingue entre mayúsculas y minúsculas a menos que utilice comillas dobles.


debe cambiar el nombre de la columna por otro nombre porque TABLE está reservado por Oracle.

Puede ver todas las palabras reservadas de Oracle en la vista de oráculo V$RESERVED_WORDS .


las comillas dobles funcionaban en Oracle cuando tenía la palabra clave como uno de los nombres de columna.

p.ej:

select t."size" from table t