Bonjour

Est-il possible d'utiliser la vue V$SQL ou V$MYSTAT dans un TRIGGER, alors que V$SESSION est reconnue.

Voici mon trigger
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
 
CREATE OR REPLACE TRIGGER
   LOG_INT4RP_ALL_REQ_TRIGGER
BEFORE
   INSERT OR UPDATE OR DELETE ON INT4RP
DECLARE
   sSQL     VARCHAR2(2000);
   dDateSys DATE;
BEGIN
   sSQL := '!';
   BEGIN
      SELECT sql_text INTO sSQL
      FROM v$sql s JOIN v$session m
      ON(m.prev_sql_id=s.sql_id)
      WHERE sid=(SELECT sid FROM v$mystat WHERE rownum=1);
   EXCEPTION
      WHEN OTHERS THEN
         sSQL := 'SQLCODE[' || SQLCODE || ']SQLERRM[' || SQLERRM(SQLCODE) || ']';
   END;
   INSERT INTO LOG_INT4RP_ALL_REQ (LAR_ID,LAR_DATE,LAR_IDDSS,LAR_REQ)
   Values (LOG_INT4RP_ALL_REQ_SEQ.Nextval,NULL,'IDDSS','OK[' || sSQL || ']');
END;
/

Message d'erreur à la compile :
ORA-00942: Table ou vue inexistante