NÍVEL é uma palavra-chave da Oracle , embora não reservado. Se você quiser usá-lo como um nome de objeto, precisará representar o nome de um objeto com um identificador entre aspas usando aspas duplas sempre que você se referir a esse objeto.
SQL> SELECT keyword, reserved FROM V$RESERVED_WORDS WHERE keyword='LEVEL';
KEYWORD R
------------------------------ -
LEVEL N
SQL>
Esse é o motivo se você usar a palavra-chave LEVEL como identificador sem aspas , ele lançará um erro:
SQL> CREATE TABLE t(level NUMBER);
CREATE TABLE t(level NUMBER)
*
ERROR at line 1:
ORA-00904: : invalid identifier
Agora, de acordo com a documentação sobre Nomes e qualificadores de objetos de banco de dados , se você criar o objeto usando aspas duplas, ele se tornará diferencia maiúsculas de minúsculas e deve ser usado sempre da mesma maneira onde quer que o objeto seja referenciado.
Por exemplo,
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>
É melhor não usar a palavra-chave e fornecer uma convenção de nomenclatura adequada.
SQL> CREATE TABLE t(clevel NUMBER);
Table created.
SQL>