NIVÅ är ett sökord för Oracle , dock inte reserverad. Om du vill använda det som ett objektnamn måste du representera namnet på ett objekt med citattecken med dubbla citattecken när du refererar till det objektet.
SQL> SELECT keyword, reserved FROM V$RESERVED_WORDS WHERE keyword='LEVEL';
KEYWORD R
------------------------------ -
LEVEL N
SQL>
Det är anledningen om du använder sökordet LEVEL som identifierare utan citattecken , kommer det att ge ett felmeddelande:
SQL> CREATE TABLE t(level NUMBER);
CREATE TABLE t(level NUMBER)
*
ERROR at line 1:
ORA-00904: : invalid identifier
Nu, enligt dokumentationen om Databasobjektnamn och kvalificeringar , om du skapar objektet med dubbla citattecken blir det skiftlägeskänsligt och måste alltid användas på samma sätt varhelst objektet refereras.
Till exempel,
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>
Det är bättre att inte använda nyckelordet och ge en korrekt namnkonvention.
SQL> CREATE TABLE t(clevel NUMBER);
Table created.
SQL>