Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Débuter
Débuter Forum d'entraide pour débuter avec Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/04/2008, 14h36   #1
Invité de passage
 
Inscription : mars 2007
Messages : 10
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 10
Points : 3
Points : 3
Par défaut Update d'une url via commande unix

Bonjour,

Je cherche à faire un update d'une chaine de caractère représentant une url au travers d'une ligne de commande.

Bêtement j'aurais dit :

update ma_table
set mon_champ = 'http://webtracker.tnt.com/webtracker/tracking.do?requestType=GEN&searchType=REF&respLang=en&respCountry=GB&cons=' where transporter_id = 2;

Le souci c'est qu'une fois cette commande validée, on me demande d'attribuer une valeur à chaque paramètre de l'url que je veux updater en base (requestType, searchType, etc...).

Pourquoi est-ce que la chaine de caractères est interprétée? Comment est-ce que je peux imposer l'écriture de la chaine telle quelle, sans s'occuper des paramètres qu'elle contient?

Merci d'avance!
finarfin95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2008, 14h45   #2
Membre chevronné
 
Avatar de philcero
 
Inscription : septembre 2007
Messages : 519
Détails du profil
Informations personnelles :
Âge : 40
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : septembre 2007
Messages : 519
Points : 649
Points : 649
Utilise un '\' devant chaque '&' de manière à ce que Oracle ne les prenne pas pour des variables. En ligne de commande SQL*Plus tu peux lancer la commande suivante dans ta session.

philcero est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2008, 15h11   #3
Invité de passage
 
Inscription : mars 2007
Messages : 10
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 10
Points : 3
Points : 3
Génial, merci beaucoup!

C'est le genre de truc qui peut faire perdre beaucoup trop de temps lorsqu'on ne connait pas la techno...
finarfin95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2008, 16h36   #4
Membre Expert
 
Avatar de scheu
 
Inscription : juin 2007
Messages : 1 497
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 1 497
Points : 1 485
Points : 1 485
Le plus simple si tu ne veux pas t'embêter à remplacer chaque & par \& c'est simplement de lancer la commande suivante au début de ta session sqlplus :Sinon le & permet de remplacer des variables que tu peux passer en paramètre dans un script sqlplus, c'est pour ça qu'à chaque '&', Oracle te demande d'entrer la valeur du paramètre
__________________
La théorie, c'est quand on sait tout mais que rien ne fonctionne.
La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/
scheu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 18h43   #5
Invité de passage
 
Inscription : mars 2007
Messages : 10
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 10
Points : 3
Points : 3
Merci pour la 2ème solution, ainsi que pour l'explication du &
finarfin95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h56.


 
 
 
 
Partenaires

Hébergement Web