TINGKAT adalah kata kunci Oracle , meskipun tidak dipesan. Jika Anda ingin menggunakannya sebagai nama objek maka Anda harus mewakili nama objek dengan pengidentifikasi yang dikutip menggunakan tanda kutip ganda setiap kali Anda merujuk ke objek itu.
SQL> SELECT keyword, reserved FROM V$RESERVED_WORDS WHERE keyword='LEVEL';
KEYWORD R
------------------------------ -
LEVEL N
SQL>
Itulah alasannya jika Anda menggunakan kata kunci LEVEL sebagai pengidentifikasi tanpa tanda kutip , itu akan menimbulkan kesalahan:
SQL> CREATE TABLE t(level NUMBER);
CREATE TABLE t(level NUMBER)
*
ERROR at line 1:
ORA-00904: : invalid identifier
Sekarang, sesuai dengan dokumentasi tentang Nama dan Kualifikasi Objek Basis Data , jika Anda membuat objek menggunakan tanda kutip ganda, objek tersebut menjadi peka huruf besar/kecil dan harus selalu digunakan dengan cara yang sama di mana pun objek direferensikan.
Misalnya,
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>
Lebih baik tidak menggunakan kata kunci, dan berikan konvensi penamaan yang tepat.
SQL> CREATE TABLE t(clevel NUMBER);
Table created.
SQL>