NIVEL es una palabra clave de Oracle , aunque no reservado. Si desea usarlo como nombre de objeto, debe representar el nombre de un objeto con un identificador entrecomillado usando comillas dobles siempre que se refiera a ese objeto.
SQL> SELECT keyword, reserved FROM V$RESERVED_WORDS WHERE keyword='LEVEL';
KEYWORD R
------------------------------ -
LEVEL N
SQL>
Esa es la razón si usa la palabra clave LEVEL como identificador sin comillas , arrojará un error:
SQL> CREATE TABLE t(level NUMBER);
CREATE TABLE t(level NUMBER)
*
ERROR at line 1:
ORA-00904: : invalid identifier
Ahora, según la documentación sobre Nombres y calificadores de objetos de base de datos , si crea el objeto usando comillas dobles, se vuelve sensible a mayúsculas y minúsculas y debe usarse siempre de la misma manera dondequiera que se haga referencia al objeto.
Por ejemplo,
SQL> CREATE TABLE t1("level" NUMBER);
Table created.
SQL>
SQL> ALTER TABLE t1 RENAME COLUMN "level" to clevel;
Table altered.
SQL>
SQL> CREATE TABLE t2("LEVEL" NUMBER);
Table created.
SQL>
SQL> ALTER TABLE t2 RENAME COLUMN "LEVEL" to clevel;
Table altered.
SQL>
Es mejor no usar la palabra clave y dar una convención de nomenclatura adecuada.
SQL> CREATE TABLE t(clevel NUMBER);
Table created.
SQL>