Menempatkan tanda kutip ganda di sekitar pengidentifikasi di Oracle menyebabkan Oracle memperlakukan pengidentifikasi sebagai case sensitif daripada menggunakan default case-insensitivity. Jika Anda membuat tabel (atau kolom) dengan tanda kutip ganda di sekitar nama, Anda harus selalu merujuk ke pengidentifikasi dengan tanda kutip ganda dan dengan menentukan kasus dengan benar (dengan pengecualian semua pengidentifikasi huruf besar, di mana tanda kutip ganda tidak berarti ).
Di bawah selimut, Oracle selalu melakukan pencocokan pengidentifikasi peka huruf besar-kecil. Tapi itu selalu melemparkan pengidentifikasi yang tidak dikutip ganda ke huruf besar sebelum melakukan pencocokan. Jika Anda menempatkan tanda kutip ganda di sekitar pengidentifikasi, Oracle melewatkan casting ke huruf besar.
Jadi jika Anda melakukan sesuatu seperti
CREATE TABLE my_table(
col1 number,
col2 number
)
kamu bisa
SELECT * FROM my_table
SELECT * FROM MY_TABLE
SELECT * FROM My_Table
SELECT * FROM "MY_TABLE"
tapi sesuatu seperti
SELECT * FROM "my_table"
akan gagal.
Di sisi lain, jika Anda melakukan sesuatu seperti
CREATE TABLE "my_other_table"(
col1 number,
col2 number
)
kamu tidak bisa melakukan
SELECT * FROM my_other_table
SELECT * FROM MY_OTHER_TABLE
SELECT * FROM My_Other_Table
SELECT * FROM "MY_OTHER_TABLE"
tapi ini
SELECT * FROM "my_other_table"
akan bekerja