Bonjour

Nous avons un problème avec un trigger.
Nous avons une table qui contient un champ CLOB. Lors de l'insertion dans cette table nous utilisons la méthode empty_clob() pour remplir ce champ (ce champ est donc renseigné après le INSERT via un dbms_lob.Write(...) ). Or nous voudrions créer un trigger qui se place sur les insertions de cette table, et qui modifie un champ de la table au moment de l'insertion en fonction du contenu de ce champ de type CLOB. Le problème est que ce trigger lève une exception Oracle du type :

[06/12/2007 11:16:04.615 - 5 ms] {7} <E2BSenderOracle/E2BSenderOracle.cpp:167> Probleme lors de la connection Oracle : Error Code : 22275, Error Message : ORA-22275: invalid LOB locator specified
ORA-04088: error during execution of trigger 'RISKV52D.TS_SWITCH_ASIA'
ORA-06512: at "RISKV52D.TS2EDA", line 6
ORA-06512: at line 1
PS : ce message contient des erreurs liées au code, l'erreur oracle qui nous intéresse est à la 3eme ligne

En effet, lorsque le trigger essaie d'accéder au champ de type CLOB (le champ se nomme 'xml') le champ n'est pas encore renseigné d'où l'erreur.

Avez-vous une idée de comment faire un trigger dans ce cas, ou y-a-t-il une autre solution que nous ne connaissons pas pour modifier un champ d'une table en fonction du contenu d'un autre champ de type CLOB.


Merci d'avance de vos idées

jeeps64