Lorsque j'essaie d'exécuter l'instruction INSERT
dans Oracle, j'obtiens une erreur SQL Error: ORA-00917: missing comma
car il y a une valeur comme Usine de thé d'Alex
dans mon instruction INSERT
.
Comment puis-je échapper à '
?
Lorsque j'essaie d'exécuter l'instruction INSERT
dans Oracle, j'obtiens une erreur SQL Error: ORA-00917: missing comma
car il y a une valeur comme Usine de thé d'Alex
dans mon instruction INSERT
.
Comment puis-je échapper à '
?
Vous pouvez utiliser ESCAPE comme indiqué dans l'exemple ci-dessous
Le caractère joker '_' est utilisé pour correspondre exactement à un caractère, tandis que '%' est utilisé pour correspondre à zéro ou plusieurs occurrences de n'importe quels caractères. Ces caractères peuvent être échappés en SQL.
SELECT name FROM emp WHERE id LIKE '%/_%' ESCAPE '/';
La même chose fonctionne également à l'intérieur de PL/SQL :
if( id like '%/_%' ESCAPE '/' )
Ceci s'applique uniquement aux motifs like, par exemple dans une insertion il n'est pas nécessaire d'échapper _ ou %, ils sont utilisés comme des caractères simples de toute façon. Dans les chaînes arbitraires, seul ' doit être échappé par ''.
Au lieu de vous inquiéter de chaque apostrophe dans votre déclaration. Vous pouvez facilement utiliser la Notation q'.
Exemple
SÉLECTION q'(Alex's Tea Factory)' DE DUAL;
Les composants clés de cette notation sont
q'
qui indique le début de la notation(
un symbole facultatif indiquant le début de la déclaration à être entièrement échappée.)'
Une parenthèse fermante avec une apostrophe indiquant la fin de la notation.Et ainsi, vous pouvez insérer autant d'apostrophes dans la notation sans vous préoccuper de chacune d'entre elles, elles seront toutes traitées en toute sécurité.
NOTE IMPORTANTE
Étant donné que vous avez utilisé (
vous devez le fermer avec )'
, et rappelez-vous qu'il est facultatif d'utiliser tout autre symbole, par exemple, le code suivant s'exécutera exactement comme le précédent
SÉLECTION q'[Alex's Tea Factory]' DE DUAL;
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.