Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Zmień nazwę kolumny o nazwie TYPE, LEVEL w sqlplus

POZIOM to słowo kluczowe Oracle , choć nie zastrzeżone. Jeśli chcesz użyć go jako nazwy obiektu, musisz przedstawić nazwę obiektu za pomocą cytowanego identyfikatora używanie podwójnych cudzysłowów za każdym razem, gdy odwołujesz się do tego obiektu.

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

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

SQL>

To jest powód, jeśli używasz słowa kluczowego LEVEL jako identyfikatora bez cudzysłowów , wygeneruje błąd:

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

Teraz, zgodnie z dokumentacją dotyczącą Nazwy i kwalifikatory obiektów bazy danych , jeśli utworzysz obiekt za pomocą podwójnych cudzysłowów, rozróżniana jest wielkość liter i musi być zawsze używany w ten sam sposób, niezależnie od tego, gdzie znajduje się odniesienie do obiektu.

Na przykład

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>

Lepiej nie używać słowa kluczowego i podać odpowiednią konwencję nazewnictwa.

SQL> CREATE TABLE t(clevel NUMBER);

Table created.

SQL>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyjątek zgłaszania sterownika ODP.Net na platformie .NET Core 5.0

  2. Jak zwrócić listę prawidłowych stref czasowych w bazie danych Oracle

  3. Funkcja COMPOSE() w Oracle

  4. Użycie wielkości liter kiedy wstawić wartości

  5. Nie mogę połączyć mojej instancji RDS Oracle z serwerem PHP