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 :

[8i]Caractére d'échapement pour un paramétre


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 63
    Par défaut [8i]Caractére d'échapement pour un paramétre
    Bonjour,

    J'ai pourtant cherché , sur le net , sur le forum ORACLE, sur le site de développez , mais mis à part qui ne fonctionne pas pour ce que je veux , je n'ai pas trouvé la réponse à ma question .

    D'où deux choses :
    - Toutes mes excuses si je n'ai pas su trouvé ce qui était devant mon nez ;-)
    - Merci à ceux qui auront quand même la gentillesse de me répondre.

    Donc voici ma question par l'exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT '&&PARAM1' FROM DUAL
    Avec comme valeur pour &&PARAM1 , 'Coucou'

    Je souhaite donc que s'affiche 'Coucou' en sortie...

    Mais je n'y arrive pas ...
    J'ai essayé donc avec ECHAP , genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT '&&PARAM1' ECHAP ' FROM DUAL
    Ou d'autre configuration mais cela ne fonctionne pas...

    Merci d'avance.

    Cordialement
    JD

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Par défaut
    je ne comprends pas trés bien votre demande :
    est ce que vous souhaitez faire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SQL> select '&&tes' from dual ; 
    Entrez une valeur pour tes : DVP
    ancien   1 : select '&&tes' from dual
    nouveau   1 : select 'DVP' from dual
     
    'DV
    ---
    DVP
     
    SQL> define &&tes

  3. #3
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SQL> define PARAM1=coucou
    SQL> select '&&PARAM1' from dual;
     
    'COUCO
    ------
    coucou
    ou bien tu cherches &1 pour définir le premier paramètre passé au script?

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 63
    Par défaut
    Bonjour et merci pour vos réponses...

    Oui effectivement, je n'ai pas été trés clair...

    Donc , J'ai une requête avec un paramétre &&PARAM qui peut prendre la valeur 'Coucou' .
    Le probléme c'est qu'en mettant des apostrophes ORACLE pense qu'il s'agit d'une ouverture de chaine de caractére et du coup plante.

    Suis je plus clair ?

    Pour être complétement précis, je cherche à créer une requête à l'aide d'une autre requête.
    Du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT 'SELECT MONCHAMP',
          'FROM MA TABLE',
          &&WHERE 
    FROM DUAL
    Avec comme valeur pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    &&WHERE => WHERE MATABLE.MONCHAMP = 'Coucou'
    Ce qui donnerait dans un fichier de sortie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT MONCHAMP
    FROM MA TABLE
    WHERE MATABLE.MONCHAMP = 'Coucou'
    Mon probléme vient à partir du moment où je passe des apostrophes dans mon paramétre &&WHERE

  5. #5
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    si tu as une version récente tu peux faire


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SCOTT@LSC01> select q'[&&param1]' from dual;
    Enter value for param1: where x='1'
    old   1: select q'[&&param1]' from dual
    new   1: select q'[where x='1']' from dual
    Q'[WHEREX='
    -----------
    where x='1'

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 63
    Par défaut
    Bonjour et merci pour ta réponse ...

    Voici le message que j'obtiens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SQL> select q'[&&param1]' from dual;
    Entrez une valeur pour param1 : 'Coucou'
    ancien   1 : select q'[&&param1]' from dual
    nouveau   1 : select q'['Coucou']' from dual
    select q'['Coucou']' from dual
            *
    ERROR à la ligne 1 :
    ORA-00923: Mot-clé FROM absent à l'emplacement prévu
    Ma version d'Oracle est :
    Oracle8i Release 8.1.7.4.0 - Production
    Merci d'avance pour vos futures réponses.

    Cordialement
    JD

Discussions similaires

  1. SQL et GUID : Valeur de caractère non valide pour la ....
    Par jackfirst72 dans le forum Bases de données
    Réponses: 5
    Dernier message: 06/03/2007, 10h46
  2. Réponses: 1
    Dernier message: 23/02/2007, 08h49
  3. caractère d'échappement pour un '
    Par alexfrere dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 04/07/2006, 11h07
  4. Réponses: 5
    Dernier message: 22/06/2006, 17h19
  5. Réponses: 13
    Dernier message: 15/06/2006, 11h31

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