Mengelakkan pemboleh ubah penggantian dengan ampersands di Oracle SQL
Ciri pembolehubah penggantian SQL Oracle SQL boleh menyebabkan masalah apabila memasukkan data yang mengandungi ampersands (&). Ini sering menyebabkan "masukkan nilai penggantian" segera. Ampersand ditafsirkan sebagai penunjuk pembolehubah, bukan watak literal.Pertimbangkan contoh ini, di mana ampersand muncul dalam URL:
http://www.netvibes.com/subscribe.php?type=rss&url=
, yang mewakili kod ASCII untuk ampersand: CHR(38)
INSERT INTO agregadores_agregadores (idagregador, nombre, url) VALUES (2, 'Netvibes', 'http://www.netvibes.com/subscribe.php?type=rss' || CHR(38) || 'url=');
Sebagai alternatif, anda boleh melumpuhkan secara global tingkah laku pembolehubah penggantian menggunakan:
SET DEFINE OFF;
mempengaruhi semua pertanyaan masa depan dalam sesi semasa. Oleh itu, jika anda memerlukan pembolehubah pengganti kemudian, anda perlu menggunakan SET DEFINE OFF
untuk mengaktifkannya semula. SET DEFINE ON;
Atas ialah kandungan terperinci Bagaimana untuk melarikan diri dari ampersands (&) dalam pernyataan memasukkan SQL Oracle?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!