sql >> Databáze >  >> RDS >> Oracle

Přejmenujte sloupec s názvem TYPE, LEVEL v sqlplus

ÚROVEŇ je klíčové slovo Oracle , i když není vyhrazena. Pokud jej chcete použít jako název objektu, musíte název objektu reprezentovat identifikátorem v uvozovkách pomocí dvojitých uvozovek kdykoli na tento objekt odkazujete.

SQL> SELECT keyword, reserved FROM V$RESERVED_WORDS WHERE keyword='LEVEL';

KEYWORD                        R
------------------------------ -
LEVEL                          N

SQL>

To je důvod, pokud jako identifikátor bez uvozovek použijete klíčové slovo LEVEL , vyvolá to chybu:

SQL> CREATE TABLE t(level NUMBER);
CREATE TABLE t(level NUMBER)
               *
ERROR at line 1:
ORA-00904: : invalid identifier

Nyní podle dokumentace o názvy a kvalifikátory databázových objektů , pokud objekt vytvoříte pomocí dvojitých uvozovek, bude rozlišovat malá a velká písmena a musí být vždy použit stejným způsobem, kdekoli je objekt odkazován.

Například,

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>

Je lepší klíčové slovo nepoužívat a uvést správnou konvenci pojmenování.

SQL> CREATE TABLE t(clevel NUMBER);

Table created.

SQL>


  1. Získejte záznamy, kde je klíč sloupce json null

  2. SQL tabulka s položkou seznamu vs SQL tabulka s řádkem pro každou položku

  3. Trvalé vs. netrvalé – Který bych měl použít?

  4. MySql, rozdělte řetězec a vložte do tabulky