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 à l'essai
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 29
    Points : 20
    Points
    20
    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 éminent sénior
    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
    Points : 11 862
    Points
    11 862
    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 à l'essai
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 29
    Points : 20
    Points
    20
    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 éminent sénior
    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
    Points : 11 862
    Points
    11 862
    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 à l'essai
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 29
    Points : 20
    Points
    20
    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, 12h08
  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, 21h56
  3. Variable Globale SQL
    Par faressam dans le forum Langage SQL
    Réponses: 1
    Dernier message: 11/04/2007, 12h29
  4. [sql] comment utiliser une variable global
    Par imedg dans le forum Oracle
    Réponses: 21
    Dernier message: 02/05/2006, 16h21
  5. Variable globale - PL/SQL - %TYPE
    Par ogre dans le forum PL/SQL
    Réponses: 25
    Dernier message: 20/10/2004, 14h47

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