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 :

PL/SQL : Variable globale


Sujet :

PL/SQL Oracle

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 29
    Par défaut PL/SQL : Variable globale
    Salut les gens

    J'avais une petite question enfin deux

    Est-ce qu'on peut avoir une variable globale setter lors d'un déclanchement d'un trigger :

    Si oui, est-ce que je peux utiliser cette même variable globale dans un autre trigger :

    Si qqu pouvait m'aider ca serait vraiment sympa

  2. #2
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Les variables déclarées dans la partie spécification d'un package restent persistentes pendant toute la session.
    Donc, elles peuvent être partagées, au sein de la même session.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 29
    Par défaut
    Ce qui veut dire que si j'écris ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    BEGIN
     
    select mon_id
    into :global.ma_variable
    from ma_table
    where ma_condition;
     
    END;
    je pourrais utiliser :global.ma_variable dans un trigger appartenant à une autre table, à partir du moment qu'on est dans la même session :

  4. #4
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    J'ai parlé de spécification de package.


    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
    CREATE OR REPLACE PACKAGE PKG_VARS IS
      GC$Var  VARCHAR2(4000) ;
      PROCEDURE Set_Value ( PC$Val IN VARCHAR2 ) ;
      FUNCTION Get_Value RETURN VARCHAR2 ;
    END;
    /
     
    CREATE OR REPLACE PACKAGE BODY PKG_VARS IS
      PROCEDURE Set_Value ( PC$Val IN VARCHAR2 )
      IS
      BEGIN
         GC$Var := PC$Val ;
      END ;
     
      FUNCTION Get_Value RETURN VARCHAR2
      IS
      BEGIN
          Return GC$Var ;
      END ;
    END;
    /
    Pendant toute la session, vous pouver fixer la valeur de votre variable:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PKG_VARS.Set_Value( 'ma valeur' ) ;
    Et en récupérer la valeur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ma_val := PKG_VARS.Get_Value ;

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 29
    Par défaut
    merci pour ton aide, je vais essayer ce que tu te proposes

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

Discussions similaires

  1. [SAGE X3V5]Variable globale dans requête SQL
    Par Zeroneurone dans le forum SAGE
    Réponses: 14
    Dernier message: 15/11/2012, 11h08
  2. [POO] class SQL en variable globale pour de la POO
    Par comode dans le forum Langage
    Réponses: 6
    Dernier message: 17/04/2009, 20h56
  3. Variable Globale SQL
    Par faressam dans le forum Langage SQL
    Réponses: 1
    Dernier message: 11/04/2007, 11h29
  4. [sql] comment utiliser une variable global
    Par imedg dans le forum Oracle
    Réponses: 21
    Dernier message: 02/05/2006, 15h21
  5. Variable globale - PL/SQL - %TYPE
    Par ogre dans le forum PL/SQL
    Réponses: 25
    Dernier message: 20/10/2004, 13h47

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