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:
<code class="language-sql">http://www.netvibes.com/subscribe.php?type=rss&url=</code>
, yang mewakili kod ASCII untuk ampersand: CHR(38)
<code class="language-sql">INSERT INTO agregadores_agregadores (idagregador, nombre, url) VALUES (2, 'Netvibes', 'http://www.netvibes.com/subscribe.php?type=rss' || CHR(38) || 'url=');</code>
Sebagai alternatif, anda boleh melumpuhkan secara global tingkah laku pembolehubah penggantian menggunakan:
<code class="language-sql">SET DEFINE OFF;</code>
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!