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

PL/SQL Oracle Discussion :

Déclaration d'une variable


Sujet :

PL/SQL Oracle

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 4
    Par défaut Déclaration d'une variable
    Bonjour ,
    Je suis DBA et j'ai un script de generation d'AWR que j'aimerai faire évoluer.
    Mon script genere aujourd'hui des fichiers d'après le DBID.
    J'aimerai plutot afficher le db_name

    voila les permières lignes que j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    DECLARE
      m_dbid        v$database.dbid%TYPE;
      m_inst_num    v$instance.instance_number%TYPE := 1;
      m_begin       NUMBER;
      m_end         NUMBER;
      m_start_date  VARCHAR2(20);
      m_end_date    VARCHAR2(20);
      m_options     NUMBER := 0; -- 0=no options, 8=enable addm
      m_file        UTL_FILE.file_type;
      m_file_name   VARCHAR(50);
      m_dir         VARCHAR2(20) := 'AWRRPT';
      m_aantal      NUMBER := 10; -- aantal snapshots
    j'aimerai ajouter une ligne comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      m_dbname	v$instance.name%TYPE := VARCHAR2(16);
    La ligne va affecter à la variable m_dbname le nom de l'instance
    je pense que la partie en bleu est fausse et je ne sais pas comment écrire

    Y-a-t-il une bonne âme pour l'aider ?

  2. #2
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Citation Envoyé par jeendoh Voir le message
    ...La ligne va affecter à la variable m_dbname le nom de l'instance
    je pense que la partie en bleu est fausse...
    Oui c'est faux.

    Citation Envoyé par jeendoh Voir le message
    ... et je ne sais pas comment écrire
    Quoi ? La déclaration de la variable ? Comment obtenir le nom de l'instance ? Comment initialiser la variable ?
    Et pourquoi voulez-vous faire quelque chose que vous ne comprenez pas ?

  3. #3
    Membre Expert Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    m_dbname v$instance.name%TYPE;
    ==> créé une variable m_dbname du même type que v$instance.name

    ==> créé une variable m_dbname du type VARCHAR2(16)

    EDIT : correction d'une erreur bête

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 4
    Par défaut
    Et pourquoi voulez-vous faire quelque chose que vous ne comprenez pas ?
    faut bien apprendre

    j'utilise ce script depuis quelques années et le déploie sur pas mal de serveur.
    Ce script est unique et la generation des variables est dynamique
    Aujourd'hui mes fichiers générés sont comme ca :
    -rw-r--r-- 1 oracle dba 400709 Jul 19 11:48 awr_23409871_180712_0500_2100.html


    Pour chaque execution j'aurai des fichiers du style :

    -rw-r--r-- 1 oracle dba 400709 Jul 19 11:48 awr_OLTP1_180712_0500_2100.html
    -rw-r--r-- 1 oracle dba 360596 Jul 19 11:48 awr_OLTP1_180712_0900_1100.html
    -rw-r--r-- 1 oracle dba 389864 Jul 19 11:48 awr_OLTP1_180712_1300_1500.html
    -rw-r--r-- 1 oracle dba 400709 Jul 19 11:48 awr_OLTP2_180712_0500_2100.html
    -rw-r--r-- 1 oracle dba 360596 Jul 19 11:48 awr_OLTP2_180712_0900_1100.html
    -rw-r--r-- 1 oracle dba 389864 Jul 19 11:48 awr_OLTP2_180712_1300_1500.html


    L'avantage : quand je modifie mon script , je peux le déployer par dsh en une fois sur tous les serveurs sans l'adapter à chaque serveur
    Et les fichiers sont beaucoup plus lisibles car j'identified tout de suite le nom de l'instance au lieu du numero ID

    C'est juste cette ligne que je n'arrive pas à écrire

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 4
    Par défaut
    Déclaration et affectation de valeure à une variable en une ligne

    résolu

  6. #6
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par lola06 Voir le message
    [code]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    m_dbname := VARCHAR2(16);
    ==> créé une variable m_dbname du type VARCHAR2(16)
    Non, cette syntaxe ne veut rien dire.
    ':=' avec un typage à droite, ça ne veut rien dire.

  7. #7
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par jeendoh Voir le message
    Déclaration et affectation de valeure à une variable en une ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    X varchar2(10) := 'MyValue';

  8. #8
    Membre Expert Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Non, cette syntaxe ne veut rien dire.
    ':=' avec un typage à droite, ça ne veut rien dire.
    Effectivement, j'ai oublié d'enlever les := ...

Discussions similaires

  1. Mauvaise déclaration d'une variable
    Par Molos dans le forum Langage
    Réponses: 3
    Dernier message: 21/01/2007, 10h36
  2. Réponses: 13
    Dernier message: 25/10/2006, 16h17
  3. Réponses: 7
    Dernier message: 02/08/2006, 15h51
  4. Réponses: 8
    Dernier message: 13/07/2006, 10h04
  5. déclaration d'une variable
    Par ouldfella dans le forum Composants VCL
    Réponses: 8
    Dernier message: 20/10/2005, 18h21

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