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

Sql*Plus Oracle Discussion :

[SQL*Plus 8/9/10] commande pour ne pas interpreter le &


Sujet :

Sql*Plus Oracle

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2002
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 114
    Points : 133
    Points
    133
    Par défaut [SQL*Plus 8/9/10] commande pour ne pas interpreter le &
    Salut à tous,

    j'ai un trou de mémoire sur une commande que je n'utilise pas souvent.

    Au début d'un script SQL, je sais qu'on peut ajouter une commande qui évite que les caractères & contenus dans le script ne puissent être interprétés comme des variables du script.



    par exemple :


    INSERT INTO matable ( code,libelle) VALUES ('001','Rollins & Cobert');

  2. #2
    Membre averti Avatar de Wurlitzer
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 469
    Points : 408
    Points
    408
    Par défaut
    Contre les trous de memoire tu peux faire sho all qui te donne tout les paramtres sqlplus

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    SQL> sho all
    appinfo est ON et dÚfini en "SQL*Plus"
    arraysize 15
    autocommit OFF
    autoprint OFF
    autorecovery OFF
    autotrace OFF
    blockterminator "." (hex 2e)
    btitle OFF et sont les premiers caractÞres de l'instruction SELECT suivante.
    cmdsep OFF
    colsep " "
    compatibility version NATIVE
    concat "." (hex 2e)
    copycommit 0
    COPYTYPECHECK est ON
    define "&" (hex 26)
    describe DEPTH 1 LINENUM OFF INDENT ON
    markup HTML OFF SPOOL OFF ENTMAP ON PREFORMAT OFF
    echo OFF
    editfile "afiedt.buf"
    embedded OFF
    escape OFF
    FEEDBACK ON pour 6 lignes ou plus
    flagger OFF
    flush ON
    heading ON
    headsep "|" (hex 7c)
    instance "local"
    linesize 80
    lno 14
    loboffset 1
    logsource ""
    long 80
    longchunksize 80
    newpage 1
    null ""
    numformat ""
    numwidth 10
    pagesize 14
    PAUSE est OFF
    pno 0
    recsep WRAP
    recsepchar " " (hex 20)
    release 801070401
    repfooter OFF et est NULL
    repheader OFF et est NULL
    serveroutput OFF
    shiftinout INVISIBLE
    showmode OFF
    spool OFF
    sqlblanklines OFF
    sqlcase MIXED
    sqlcode 0
    sqlcontinue "> "
    sqlnumber ON
    sqlprefix "#" (hex 23)
    sqlprompt "SQL> "
    sqlterminator ";" (hex 3b)
    suffix "sql"
    tab ON
    termout ON
    time OFF
    timing OFF
    trimout ON
    trimspool OFF
    ttitle OFF et sont les premiers caractÞres de l'instruction SELECT suivante.
    underline "-" (hex 2d)
    USER est "TOTO"
    verify ON
    wrap : les lignes seront bouclÚ
    Du coup je dirais qu'il faut faire un set define

  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 : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    en l'occurence, c'est scan off

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    SQL> select '&toto' from dual;
    Entrez une valeur pour toto : 
     
    '
    -
     
     
    SQL> 
    SQL> set scan off
    SQL> select '&toto' from dual;
     
    '&TOT
    -----
    &toto

  4. #4
    Membre averti Avatar de Wurlitzer
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 469
    Points : 408
    Points
    408
    Par défaut
    Tu as raison cela repond mieux a la question.

    Ce qui me chagrine c'est que scan n'apparait pas dans la liste des parametres listé par sho all. Donc all en anglais Oracle ne veut pas dire tous

  5. #5
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Je me permets une petite remarque le paramètre scan est me semble-t-il obsolète (c'est sans doute pour cela que lorsque tu fais un show all tu ne le vois pas...), il faut privilégier le paramètre define qui a 2 avantages :
    1. il permet de définir un autre caractère de substitution
    exemple :
    - set define # (dans ce cas # remplace &)
    - set define off (indique qu'il n'y a pas de caractère de substitution)
    2. il est prioritaire sur le scan

    Pour retrouver les principaux paramètres SQL*Plus et leur utilité :
    http://www.developpez.net/forums/sho...39&postcount=4

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Citation Envoyé par plaineR
    Je me permets une petite remarque le paramètre scan est me semble-t-il obsolète
    Tu as raison... mais le sujet porte sur la V8 aussi

  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 : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Août 2002
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 114
    Points : 133
    Points
    133
    Par défaut
    Enfait c'est set define off que je cherchais.

    Mais merci à tous, vos exemples sont très intéressants.

    merci

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 01/02/2006, 19h44
  2. [SQL*Plus] Lancer un script en ligne de commandes
    Par Jibees dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 04/07/2005, 17h05
  3. Réponses: 7
    Dernier message: 10/02/2005, 13h44
  4. [SQL] commande pour l'arrondi à l'entier superieur
    Par seb.briet dans le forum Langage SQL
    Réponses: 4
    Dernier message: 10/01/2005, 15h36
  5. [SQL] Commande pour transformer un mot
    Par gandalf_le_blanc dans le forum Langage SQL
    Réponses: 4
    Dernier message: 02/12/2004, 16h58

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