Requete insert dans oracle
Peguinette
-
falc0 -
falc0 -
Salut,
J'utilise Oracle 8i, et je voudrais savoir quelle est la bonne syntaxe pour ma requete sql afin d'inserer une chaine de caractere qui contient le fameux caractere qui fait chier tout le monde : le simple cote également appelé apostrophe.
En tant normal je met :
insert into maTable (label) values (' " + maVariable " ');
c'est à dire : simple cote, double cote, plus, maVariable, plus, double cote, simple cote.
Alors qd maVarible contient une chaine avec une cote, j'écrit quoi pour que ca marche ???
merci par avance.
J'utilise Oracle 8i, et je voudrais savoir quelle est la bonne syntaxe pour ma requete sql afin d'inserer une chaine de caractere qui contient le fameux caractere qui fait chier tout le monde : le simple cote également appelé apostrophe.
En tant normal je met :
insert into maTable (label) values (' " + maVariable " ');
c'est à dire : simple cote, double cote, plus, maVariable, plus, double cote, simple cote.
Alors qd maVarible contient une chaine avec une cote, j'écrit quoi pour que ca marche ???
merci par avance.
A voir également:
- Requete insert dans oracle
- Touche insert - Guide
- Disk boot failure insert system disk and press enter - Guide
- Insert boot media in selected boot device and press a key ✓ - Forum Windows 10
- Oracle liste des tables ✓ - Forum Oracle
- Activer touche insert sur ASUS UX32A - Forum Clavier
2 réponses
Je ne connais pas Oracle, mais sur MySQL, il suffit de faire un "AddSlash(maVariable)" en PHP ou bien "maVariable =~ s/'/\\'/g" en PERL...
En gros tu ajoutes un backslash \ devant tes simples cotes ' par le langage que tu veux ici le backslash est le caractere d'echapement.
Ensuite tu verifies ce qu'il y a dans la base... MySQL supprime automatiquement les \' et les remplace par '.
Ex: "Coucou c\'est moi" donnera dans la base "Coucou c'est moi";
Tu peux tester sous Oracle 8i. Au passage, ca m'interesse de savoir si ca marche.
Merci.
-= Bobinours =-
En gros tu ajoutes un backslash \ devant tes simples cotes ' par le langage que tu veux ici le backslash est le caractere d'echapement.
Ensuite tu verifies ce qu'il y a dans la base... MySQL supprime automatiquement les \' et les remplace par '.
Ex: "Coucou c\'est moi" donnera dans la base "Coucou c'est moi";
Tu peux tester sous Oracle 8i. Au passage, ca m'interesse de savoir si ca marche.
Merci.
-= Bobinours =-
mais malheureusement la fonction AddSlash() doit etre propre à Mysql et n'existe donc pas sous oracle.
Mais j'ai trouver la solution :
En fait c'est le meme principe que le backslash sauf que c'est un simple cote :
il faut donc doubler le simple cote et au moment de l'insertion dans oracle il n'en insert qu'un seul.
Ex : "Coucou c''est moi" donnera dans la base : "Coucou c'est moi"
merci tout de meme.
ok en fait c'est le meme principe qu'en Pascal, merci Penguinette
Castor
C'est bizarre. Ca me parait meme absurde !?
J'ai du mal à imaginer comment le parser fait pour échapper le simple cote ' si il y en a deux.
NB: Fais un test si dans ta Chaine de depart tu as 2 simple-cotes successives... Que ce passe-t-il ?
NB2: Le "AddSlash()" est une fonction PHP (ça n'a rien à voir avec MySQL), c'est un langage à part comme l'ASP ou le JSP.
M'enfin, vu que je ne connais pas la base et que ca marche... C'est l'essentiel :o)
-= Bobinours =-