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

Oracle Discussion :

capturer des informations niveau session dans un trigger


Sujet :

Oracle

  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 487
    Points : 455
    Points
    455
    Par défaut capturer des informations niveau session dans un trigger
    Bonjour à tous,

    Savez-vous s'il est possible de faire ce genre de chose?
    J'aimerai enregistrer dans une table des valeurs de variables de la session qui déclencherait un évenement (un insert dans une table).
    cela doit être possible, mais je ne vois pas comment:

    un exemple simple:
    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
     
    drop table n1;
    drop table n2;
     
    create table n1 ( a number);
    create table n2  ( b varchar2(128), c varchar2(128));
     
    create or replace trigger insert_n1
         before   insert   on n1
         for each row
     
    DECLARE
    toto varchar2(123);
      BEGIN
           if inserting then insert into n2 values (user,toto );
           end if;
      END;
    /
     
    declare 
     
    toto varchar2(128);
     
    begin
     
      toto :='test';
      insert into n1 values (5);
     
    end;
    /
     
     
    select * from n2;
    B          c
    ALINE
    J'ai donc réussi à récupérer ceratines valeurs de ma session mais pas toutes.
    J'aurai aimé avoir comme réponse à ma requête

    quelqu'un comprends ma problématique?

  2. #2
    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
    Citation Envoyé par aline
    quelqu'un comprends ma problématique?
    Je crois

    Il faut que tu passes par un 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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    create or replace package pack_toto as
      procedure set_valeur_toto (p_valeur in varchar2);
      function get_valeur_toto return varchar2;
    end;
    /
     
    create or replace package body pack_toto as
      toto varchar2(123);
      procedure set_valeur_toto (p_valeur in varchar2) is
      begin
        toto := p_valeur;
      end;
      function get_valeur_toto return varchar2 is
      begin
        return toto;
      end;
    end;
    /
     
    create or replace trigger insert_n1
         before   insert   on n1
         for each row
     
    DECLARE
      BEGIN
           if inserting then insert into n2 values (user,pack_toto.get_valeur_toto );
           end if;
      END;
    /
     
    begin
     
      pack_toto.set_valeur_toto('test');
      insert into n1 values (5);
     
    end;
    /
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  3. #3
    j6m
    j6m est déconnecté
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 87
    Points : 84
    Points
    84
    Par défaut et sys_context?
    quand la pierre tombe sur l’œuf, malheur à l’œuf
    quand l’œuf tombe sur la pierre, malheur à l’œuf

  4. #4
    Membre confirmé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 487
    Points : 455
    Points
    455
    Par défaut
    excellent!
    Merci à tout les deux!

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

Discussions similaires

  1. Enregister des informations de session
    Par BFdotNET dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 18/07/2008, 12h05
  2. Utilisation de V$SESSION dans un trigger
    Par jc2001 dans le forum Oracle
    Réponses: 3
    Dernier message: 28/06/2007, 15h24
  3. Réponses: 1
    Dernier message: 03/04/2007, 12h02
  4. Réponses: 5
    Dernier message: 13/04/2006, 14h13
  5. [micro]capture des informations?!
    Par bakonu dans le forum C
    Réponses: 3
    Dernier message: 29/11/2005, 10h13

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