39 votes

Caractère d'échappement Oracle PL-SQL (pour un " ' ")

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 à ' ?

2voto

Bob Jarvis Points 14906

Votre question laisse entendre que vous construisez l'instruction INSERT en concaténant des chaînes de caractères. Je suggère que ce n'est pas un bon choix car cela vous expose aux attaques par injection SQL si les chaînes sont issues de l'entrée de l'utilisateur. Une meilleure option est d'utiliser des marqueurs de paramètres et de lier les valeurs aux marqueurs. Si vous recherchez Oracle parameter markers, vous trouverez probablement des informations sur votre technologie d'implémentation spécifique (par exemple C# et ADO, Java et JDBC, Ruby et RubyDBI, etc).

Partagez et profitez.

-2voto

Navneet Points 1

Voici une façon d'échapper facilement au caractère & dans la base de données Oracle

set escape '\\'

et dans la requête, écrivez comme ceci

'ERREURS &\\\ PERFORMANCES';

Prograide.com

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.

Powered by:

X