IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

Comment passer une requête d'insert contenant des variables et des libellés avec le caractère & ?


Sujet :

Oracle

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 8
    Points : 1
    Points
    1
    Par défaut Comment passer une requête d'insert contenant des variables et des libellés avec le caractère & ?
    Bonjour à tous,

    On est sur Oracle 10g avec SQL Developer.

    Je voudrais insérer un libellé contenant '&'. J'ai mis un 'set define off' pour désactiver le prompting or j'ai aussi une variable dans la même requête d'insert, ce qui pose problème de binding.

    Je n'ai pas réussi à trouver un compromis, je sollicite votre aide car j'ai déjà essayé plein de combines (concaténation ...)

    Ci joint ma reqûete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    set define off
    DEFINE TARIF_ID=2;
    insert into RTARIF (TARIF_ID, TARIF_NUMERO, TARIF_ADDITIF, TARIF_INTEGRATION_DATE, TARIF_ACTIVATION_DATE)
    values (&TARIF_ID, 'rrr&ttt', '00', to_date('22-06-2012 18:16:38', 'dd-mm-yyyy hh24:mi:ss'), to_date('04-07-2012', 'dd-mm-yyyy'));
    Je vous remercie.

  2. #2
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    Re,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SET escape ^  
    DEFINE TARIF_ID=2;  
    INSERT INTO RTARIF (TARIF_ID, TARIF_NUMERO, TARIF_ADDITIF, TARIF_INTEGRATION_DATE, TARIF_ACTIVATION_DATE)  
    VALUES (&TARIF_ID, 'rrr^&ttt', '00', to_date('22-06-2012 18:16:38', 'dd-mm-yyyy hh24:mi:ss'), to_date('04-07-2012', 'dd-mm-yyyy'));
    Je remercie umarus grâce à qui j'ai sauvé ma journée.

  3. #3
    Membre confirmé
    Avatar de Bibeleuh
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2010
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2010
    Messages : 209
    Points : 542
    Points
    542
    Par défaut
    Salut,

    En remplaçant la variable de substitution par défaut '&' par un autre caractère tel que '~'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SET DEFINE ~
    DEFINE TARIF_ID=2;
    INSERT INTO RTARIF (TARIF_ID, TARIF_NUMERO, TARIF_ADDITIF, TARIF_INTEGRATION_DATE, TARIF_ACTIVATION_DATE)
    VALUES (~TARIF_ID, 'rrr&ttt', '00', to_date('22-06-2012 18:16:38', 'dd-mm-yyyy hh24:mi:ss'), to_date('04-07-2012', 'dd-mm-yyyy'));
    Edit : trop lent l'escargot

  4. #4
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 077
    Points
    8 077
    Par défaut
    Citation Envoyé par Bibeleuh Voir le message
    ...Edit : trop lent l'escargot
    Ben non, pas du tout !
    Vous proposez à juste titre de jouer sur DEFINE, alors qu'il était question de ESCAPE dans la solution précédente.

    Sauf que ESCAPE, c'est en général inapplicable, car ça oblige à modifier les chaînes dans lesquelles & est présent.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/02/2010, 16h13
  2. Réponses: 4
    Dernier message: 29/12/2008, 09h04
  3. Comment passer une information entre des threads ?
    Par TheCaribouX dans le forum C#
    Réponses: 10
    Dernier message: 31/03/2008, 14h29
  4. Réponses: 3
    Dernier message: 08/05/2007, 17h32
  5. Réponses: 3
    Dernier message: 16/12/2006, 12h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo