Kutipan ganda digunakan untuk menunjukkan pengidentifikasi yang dikutip , yaitu nama objek yang tidak hanya terdiri dari karakter alfanumerik, $
dan #
. Selain itu, sebaiknya Anda tidak menggunakan pengenal yang dikutip. Ini adalah alasan kesalahan ORA-00984 asli Anda. Oracle mengasumsikan bahwa "tes"
adalah kolom, bukan string, dan Anda tidak dapat menggunakan nama kolom dalam klausa VALUES dari pernyataan INSERT, seperti yang dijelaskan dalam pesan kesalahan
.
Untuk menyisipkan string "tes"
ke dalam tabel, Anda perlu memastikan bahwa itu adalah dikutip dengan benar
:
Setiap karakter dapat menjadi bagian dari string sehingga untuk menyisipkan tanda kutip ganda ke dalam tabel, Anda harus menyertakannya dalam tanda kutip tunggal.
insert into users (id, name, username)
values (null, '"tes"', '"hello"');
Berikut SQL Fiddle untuk didemonstrasikan.
Satu hal tambahan yang perlu diperhatikan. Anda menyatakan bahwa kueri ini dibuat secara otomatis, yang berarti Anda dapat rentan terhadap injeksi SQL. Saya sangat merekomendasikan membaca tentang mengikat variabel di Menjaga Terhadap Injeksi SQL .