Di TSQL saya bisa menggunakan sesuatu seperti Select [table] from tablename
memilih kolom bernama "tabel".
Bagaimana saya melakukan ini untuk kata-kata yang dipesan di oracle?
Sunting: Saya sudah mencoba tanda kurung kurawal, tanda kutip ganda, tanda kutip tunggal, dan tanda kutip, mereka tidak berfungsi ...
Sebagai klarifikasi lebih lanjut, saya memiliki kolom yang seseorang beri komentar. Karena ini adalah kata yang dipesan, oracle mengeluarkan goyah yang mencoba memilihnya, gagal ketika mengurai kueri. Saya sudah mencoba Pilih "komentar" dari tablename tetapi tidak berhasil. Saya akan memeriksa kasing dan kembali.
oracle
reserved-words
Tempat menyimpan bahan makanan
sumber
sumber
Jawaban:
Dari pencarian cepat, Oracle tampaknya menggunakan tanda kutip ganda (
"
, misalnya"table"
) dan tampaknya membutuhkan kasus yang benar — di mana, bagi siapa pun yang tertarik, MySQL default untuk menggunakan backticks (`) kecuali ketika diatur untuk menggunakan tanda kutip ganda untuk kompatibilitas.sumber
Oracle biasanya memerlukan tanda kutip ganda untuk membatasi nama pengidentifikasi dalam pernyataan SQL, misalnya
Namun, itu dengan anggun memungkinkan menghilangkan tanda kutip ganda, dalam hal ini ia secara diam-diam mengubah pengenal menjadi huruf besar:
dikonversi secara internal menjadi sesuatu seperti:
sumber
Kutipan ganda berfungsi di oracle ketika saya memiliki kata kunci sebagai salah satu nama kolom.
misalnya:
sumber
Oracle memang menggunakan tanda kutip ganda, tetapi Anda kemungkinan besar perlu menempatkan nama objek dalam huruf besar, misalnya "TABEL". Secara default, jika Anda membuat objek tanpa tanda kutip ganda, mis
Oracle akan membuat objek sebagai huruf besar . Namun, referensi tidak peka huruf besar-kecil kecuali Anda menggunakan tanda kutip ganda!
sumber
Anda harus mengganti nama kolom menjadi nama lain karena
TABLE
disediakan oleh Oracle.Anda dapat melihat semua kata Oracle yang dilindungi undang-undang di tampilan oracle
V$RESERVED_WORDS
.sumber
ORA-00942
ketika saya mencobaselect * from V$RESERVED_WORDS
.