Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/06/2007, 14h21   #1
Invité régulier
 
Inscription : mai 2007
Messages : 17
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 17
Points : 7
Points : 7
Par défaut Utilisation de V$SESSION dans un trigger

Bonjour,

Sous Oracle 9i, j'ai une erreur quand je tente d'accéder à la vue V$SESSION dans un trigger.

Cette version du trigger fonctionne :
Code :
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
 
CREATE OR REPLACE TRIGGER GPI.trg_suvalidh_mouche_delete
AFTER DELETE ON suvalidh
FOR EACH ROW
DECLARE
    l_osuser varchar2(30);
    l_machine varchar2(64);
    l_program varchar2(48);
BEGIN
--   SELECT OSUSER, MACHINE, PROGRAM
--   INTO	 L_OSUSER, L_MACHINE, L_PROGRAM
--   FROM   V$SESSION
--   WHERE	 AUDSID = USERENV('SESSIONID');
  INSERT INTO suvalidh_mouchard
     (ladate, action, matricule,
     lot, domcom, periode,
     calcule, cumulper, cumultot,
     valoper, valotot, qualiac,
	 osuser, machine, program)
     VALUES (SYSDATE, 'S', :old.matricule,
     :old.lot, :old.domcom, :old.periode,
     :old.calcule, :old.cumulper, :old.cumultot,
     :old.valoper, :old.valotot, :old.qualiac,
	 l_osuser, l_machine, l_program);
END;
mais si j'enlève les commentaires sur le curseur de V$SESSION, l'erreur retournée est :
Code :
1
2
 
PL/SQL: ORA-00942: TABLE OR VIEW does NOT exist
Par contre, le code suivant fonctionne :
Code :
1
2
3
4
5
6
7
8
9
10
11
 
DECLARE
    l_osuser varchar2(30);
    l_machine varchar2(64);
    l_program varchar2(48);
BEGIN
   SELECT OSUSER, MACHINE, PROGRAM
   INTO	 L_OSUSER, L_MACHINE, L_PROGRAM
   FROM   V$SESSION
   WHERE AUDSID = USERENV('SESSIONID');
end;
Quelqu'un a-t-il une idée ?

merci
jc2001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2007, 14h21   #2
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
il faut faire un GRANT de la vue au owner du trigger.
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2007, 14h28   #3
Membre Expert
 
Avatar de Garuda
 
Homme Philippe CHIRCOP
Chef de projet
Inscription : juin 2007
Messages : 1 109
Détails du profil
Informations personnelles :
Nom : Homme Philippe CHIRCOP
Localisation : France

Informations professionnelles :
Activité : Chef de projet
Secteur : Bâtiment

Informations forums :
Inscription : juin 2007
Messages : 1 109
Points : 1 559
Points : 1 559
Tiens, j'ai posé la même question hier !!
http://www.developpez.net/forums/sho...d.php?t=366790
__________________
Garuda गरूड
Brahmâ la Guerre et Vishnu la Paix

Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010
Garuda est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2007, 15h24   #4
Invité régulier
 
Inscription : mai 2007
Messages : 17
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 17
Points : 7
Points : 7
Effectivement. J'étais passé un peu vite sur ton post.

merci à tous
jc2001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h52.


 
 
 
 
Partenaires

Hébergement Web