Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Ganti nama kolom bernama TYPE, LEVEL di sqlplus

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>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tulis tampilan Oracle DB berdasarkan perbedaan cap waktu kolom yang berbeda

  2. Menghapus Penyedia Data Oracle untuk .NET dari Cache Majelis Global

  3. Bagaimana cara memformat hanya catatan yang ORA-01843 tidak dibuang?

  4. C# dan Tipe Data Nomor Oracle

  5. Cara menambahkan nomor urut untuk setiap elemen dalam grup menggunakan kueri SQL tanpa tabel temp