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 :

Exécution en ligne de commande et passage de variable


Sujet :

Sql*Plus Oracle

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Exécution en ligne de commande et passage de variable
    bonjour

    je n'arrive pas à trouver l'info.
    ça doit etre surement simple mais voilà:
    j'ai créé un script .sql avec à l'intérieur une variable (le voici pour info), on va l'appeler "requete.sql"
    mais voilà quand je l'appelle comme ceci avec en passage un numero:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sqlplus -S toto/toto@toto requete 82
    rien ne se lance, je suis obligé de taper le chiffre.

    J'aimerai donc pouvoir le lancer en ligne de commandes en passant le paramètre. Qu'ai je donc oublié?

    Merci pour votre aide!!


    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
     
    set head off
    set linesize 32767
    set heading off
    set pagesize 0
    set showmode off
    set feedback off
    set verify off
    set tab off
     
    timing start timer_1;
    select o.id_objet,
    lib_stock,
    REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(o.reference,CHR(10),'\r'),CHR(13),'\n'),CHR(09),'\t'),'   ',' '),'  ',' '),
    REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(i.source,CHR(10),'\r'),CHR(13),'\n'),CHR(09),'\t'),'   ',' '),'  ',' '),
    REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(o.titre_court,CHR(10),'\r'),CHR(13),'\n'),CHR(09),'\t'),'   ',' '),'  ',' '),
    REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(o.legende,CHR(10),'\r'),CHR(13),'\n'),CHR(09),'\t'),'   ',' '),'  ',' '),
    REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(i.localcaption,CHR(10),'\r'),CHR(13),'\n'),CHR(09),'\t'),'   ',' '),'  ',' '),
    (SELECT wm_concat(iptc_keyword) FROM iptc_keywords WHERE o.id_objet=iptc_keywords.id_objet  )"keywords"
    from objets o, iptc i,stocks s
    where o.id_objet=i.id_objet
    and o.id_stock = &id_stock
    and o.id_stock=s.id_stock order by lib_stock;
     
    exit;

  2. #2
    Membre expérimenté Avatar de ojo77
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2010
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 680
    Points : 1 597
    Points
    1 597
    Par défaut
    Bonsoir,

    Comme sur unix, ou en C ou dans plein de langages de programmation en fait, les variables passées en paramètre on un nom
    en SQL (oracle interprété par SQL*Plus) elle s'appellent &1, &2 ... &9

    pour les utiliser vous pouvez faire des choses de ce style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    def ma_var=&1
     
    select * from table where col1=&&ma_var ;
     
    undef ma_var

Discussions similaires

  1. Comment exécuter une ligne de commande ?
    Par tarekos dans le forum C#
    Réponses: 26
    Dernier message: 27/06/2008, 15h44
  2. Exécuter des lignes de commandes
    Par Neji44 dans le forum Windows Forms
    Réponses: 10
    Dernier message: 09/05/2008, 16h15
  3. [C#] Exécution de ligne de commande
    Par jeromechezgdf dans le forum C#
    Réponses: 1
    Dernier message: 01/08/2007, 17h27
  4. [Système] Exécuter une ligne de commande
    Par fordprobe dans le forum Langage
    Réponses: 2
    Dernier message: 09/07/2007, 14h46
  5. Exécuter une ligne de commande dos
    Par koKoTis dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 20/08/2006, 07h03

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