Maison > base de données > tutoriel mysql > Comment échapper aux ampères et) dans Oracle SQL Insert Inserts?

Comment échapper aux ampères et) dans Oracle SQL Insert Inserts?

Linda Hamilton
Libérer: 2025-01-24 13:01:08
original
377 Les gens l'ont consulté

How to Escape Ampersands (&) in Oracle SQL INSERT Statements?

Éviter les invites de variables de substitution avec des esperluettes dans Oracle SQL

La fonctionnalité de variable de substitution d'Oracle SQL Developer peut provoquer des problèmes lors de l'insertion de données contenant des esperluettes (&). Cela se traduit souvent par l'invite « Entrez la valeur de substitution ». L'esperluette est interprétée comme un indicateur variable et non comme un caractère littéral.

Prenons cet exemple, où une esperluette apparaît dans une URL :

<code class="language-sql">http://www.netvibes.com/subscribe.php?type=rss&url=</code>
Copier après la connexion

Pour insérer correctement cette URL, vous devez échapper l'esperluette. Une méthode utilise la fonction CHR(38), qui représente le code ASCII de l'esperluette :

<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>
Copier après la connexion

Cela remplace l'esperluette littérale par son équivalent ASCII, évitant ainsi le conflit de variables de substitution.

Alternativement, vous pouvez désactiver globalement le comportement de la variable de substitution en utilisant :

<code class="language-sql">SET DEFINE OFF;</code>
Copier après la connexion

Après avoir exécuté cette commande, les esperluettes seront traitées comme des caractères littéraux dans toutes les instructions SQL suivantes. N'oubliez pas que SET DEFINE OFF affecte toutes les requêtes futures au cours de la session en cours. Par conséquent, si vous avez besoin de variables de substitution plus tard, vous devrez utiliser SET DEFINE ON; pour les réactiver.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal