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 :

caractère &


Sujet :

Oracle

  1. #1
    Membre actif Avatar de Nounoursonne
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 264
    Points : 208
    Points
    208
    Par défaut caractère &
    bonjour,

    J'ai un petit soucis avec le Caratère "&"
    J'ai des inserts et certains champs contiennent &, je sais qu'il existe un moyen de ne pas tenir compte de & mais je ne sais plus lequel
    Quelqu'un peut me rafraichir la mémoire

    Merci

  2. #2
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Points : 848
    Points
    848
    Par défaut
    Je crois que tu parles de


    Laly.
    In the heart of the truly greats, perfection is never achieved but endlessly pursued.

    Mon article sur les fonctions analytiques d'Oracle (calcul de moyennes mobiles, de quartiles et bien d'autres...)

  3. #3
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    non c'est :


  4. #4
    Membre actif Avatar de Nounoursonne
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 264
    Points : 208
    Points
    208
    Par défaut
    avec
    ça marche nickel

    merci à tous les deux

  5. #5
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Points : 848
    Points
    848
    Par défaut
    Tu es sûr ?

    Regardes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    SQL> set scan on
    SQL> set define on
    SQL> insert into TEST values ('&hello');
    Enter value for hello: HELLO
    old   1: insert into TEST values ('&hello')
    new   1: insert into TEST values ('HELLO')
     
    1 row created.
     
    SQL> set define off
    SQL> /
     
    1 row created.
     
    SQL> select * from TEST;
     
    X
    ----------
    HELLO
    &hello

    Par contre je ne sais pas à quoi sert SCAN


    Laly.
    In the heart of the truly greats, perfection is never achieved but endlessly pursued.

    Mon article sur les fonctions analytiques d'Oracle (calcul de moyennes mobiles, de quartiles et bien d'autres...)

  6. #6
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Points : 848
    Points
    848
    Par défaut
    Orafrance,


    Tu as aussi raison 8)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SQL> show scan
    scan OFF
    SQL> show define
    define "&" (hex 26)
    SQL> insert into TEST values ('&hello');
     
    1 row created.

    Laly.
    In the heart of the truly greats, perfection is never achieved but endlessly pursued.

    Mon article sur les fonctions analytiques d'Oracle (calcul de moyennes mobiles, de quartiles et bien d'autres...)

  7. #7
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    oui, j'suis sûr

    DEFINE définit le caractère de marquage des variables alors que SCAN controle ou non la présence de variable

    http://download-west.oracle.com/docs/cd/B10501_01/server.920/a90842/apc.htm#634736

  8. #8
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Points : 848
    Points
    848
    Par défaut
    C'est comme à l'école des fans, on a tous les deux gagnés



    Laly.
    In the heart of the truly greats, perfection is never achieved but endlessly pursued.

    Mon article sur les fonctions analytiques d'Oracle (calcul de moyennes mobiles, de quartiles et bien d'autres...)

  9. #9
    Membre averti

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Points : 398
    Points
    398
    Par défaut
    on peut faire aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    insert into TEST values ('&'||'hello');
    Ce qui eviter d'oublier de remmettre les paramètres à ON.

    Mais c'est pas très beau, et il faut décomposer les chaine de caractère.

  10. #10
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Points : 848
    Points
    848
    Par défaut
    Sygale,


    Ce que tu dis est tout à fait correct. Mais souvent je désactive cette option, lorsque je dois passer à package entier à SQL*Plus, donc ca serait pénible lors de l'écriture de chaque requête de penser à décomposer les & (je suis pas maso, je développe avec des outils comme Toad ou PLSQL-Developper mais l'équipe chargée des mises en productions n'utilise que SQL*Plus)


    Laly.
    In the heart of the truly greats, perfection is never achieved but endlessly pursued.

    Mon article sur les fonctions analytiques d'Oracle (calcul de moyennes mobiles, de quartiles et bien d'autres...)

  11. #11
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    moi je développe que sous SQL*Plus 8)

    j'suis maso moi

  12. #12
    Membre averti

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Points : 398
    Points
    398
    Par défaut
    Tout à fait d'accord lalystar, cela peux être utile.
    Un peux comme les double côtes dans les chaines de car.

    Cependant, c'est super lourd à mettre en place !!!

    Citation Envoyé par orafrance
    moi je développe que sous SQL*Plus 8)

    j'suis maso moi
    Ici, on fait UEdit pour le code,
    des shells pour exécuter les scripts. (plus rapide sous unix)

    Et toad, pour le dégugage de scripts lorsque dans 10 000 lignes de code l'erreur de compile dit Ligne 5678. Toad met le curseur direct sur La ligne et on modifie dans UE. etc ...

    Sinon SQL*Plus, c'est assez rare !, mais tout est une question d'habitude !

    Ben bon dev alors !

  13. #13
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    par sql*plus j'entends bien sûr une édition sous UE... j'utilise quand même pas notepad

  14. #14
    Membre averti

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Points : 398
    Points
    398
    Par défaut
    Citation Envoyé par orafrance
    par sql*plus j'entends bien sûr une édition sous UE... j'utilise quand même pas notepad
    Ah cela me rassure, il y a pire des mecs tapent directe les requetes sous ql*plus

  15. #15
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Points : 848
    Points
    848
    Par défaut
    Euh bah moi je le fais

    Mais c'est vrai que je développe sous UltraEdit depuis qu'on ne peut plus utiliser Toad pour des problèmes de licenses. Entre PLSQL-Developper et Ultredit, je préfère UE.


    Laly.
    In the heart of the truly greats, perfection is never achieved but endlessly pursued.

    Mon article sur les fonctions analytiques d'Oracle (calcul de moyennes mobiles, de quartiles et bien d'autres...)

  16. #16
    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 074
    Points
    8 074
    Par défaut
    Citation Envoyé par orafrance
    oui, j'suis sûr

    DEFINE définit le caractère de marquage des variables alors que SCAN controle ou non la présence de variable

    http://download-west.oracle.com/docs/cd/B10501_01/server.920/a90842/apc.htm#634736
    Non, pas d'accord !
    Comme l'indique la doc, SCAN est une fonction obsolète (mais qui fonctionne toujours) de SQL*Plus, qui est fonctionnellement remplacée et étendue par DEFINE.

    L'apport de DEFINE par rapport à SCAN, c'est qu'en plus du ON/OFF, il permet de définir quel caractère sera considéré comme marqueur des variables de substitution.
    Par défaut, ces variables sont introduites par &, mais ce caractère peut être librement défini.
    J'utilise de temps en temps le caractère '}', quand le & ne doit pas être interprété mais que j'ai néanmoins besoin de variables de substitution.
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  17. #17
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    oui on est d'accord... DEFINE permet de faire la même chose mais la commande dédié est SCAN

  18. #18
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Points : 848
    Points
    848
    Par défaut
    Orafrance : -1 désolé


    Laly.
    In the heart of the truly greats, perfection is never achieved but endlessly pursued.

    Mon article sur les fonctions analytiques d'Oracle (calcul de moyennes mobiles, de quartiles et bien d'autres...)

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

Discussions similaires

  1. Remplacer le caractère & par &
    Par radium dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 17/09/2008, 08h53

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