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

Apakah mungkin untuk merujuk ke nama kolom melalui variabel bind di Oracle?

Tidak. Anda tidak dapat menggunakan variabel bind untuk nama tabel atau kolom.

Informasi ini diperlukan untuk membuat rencana eksekusi. Tanpa mengetahui apa yang ingin Anda pesan, misalnya, mustahil untuk mengetahui indeks apa yang digunakan.

Alih-alih mengikat variabel, Anda harus langsung menginterpolasi nama kolom ke dalam pernyataan SQL saat program Anda membuatnya. Dengan asumsi bahwa Anda mengambil tindakan pencegahan terhadap injeksi SQL, tidak ada kerugian untuk itu.

Pembaruan: Jika Anda benar-benar ingin melompati rintangan, Anda mungkin bisa melakukan sesuatu seperti

order by decode(?, 'colA', colA, 'colB', colB)

tapi itu hanya konyol. Dan lambat. Jangan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SELECT TOP 10 catatan

  2. Apakah COUNT(rowid) Lebih Cepat Dari COUNT(*)?

  3. Menetapkan nilai LIMIT saat menggunakan pengumpulan massal

  4. Pertanyaan Berguna tentang kedaluwarsa kata sandi oracle EBS/Kebijakan/Pengaturan

  5. Daftar Semua Fungsi di Oracle Database