|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |
|
Nouveau Membre du Club
![]() Jean-Philippe SARASY Inscription : mars 2007 Messages : 131 ![]() |
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 : Citation:
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 |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
ça ressemble étrangement à ceci : http://www.developpez.net/forums/sho...dbms_lob.Write
|
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Jean-Philippe SARASY Inscription : mars 2007 Messages : 131 ![]() |
Normal, c'est un collegue !!
Désolé : ( Je teste la solution donnée Merci jeeps64 |
|
00
|
|
|
#4 | |
|
Nouveau Membre du Club
![]() Jean-Philippe SARASY Inscription : mars 2007 Messages : 131 ![]() |
J'ai modifié le :
en j'ai toujours le message : Citation:
Comprend pas jeeps64 |
|
|
00
|
|
|
#5 | ||
|
Nouveau Membre du Club
![]() Jean-Philippe SARASY Inscription : mars 2007 Messages : 131 ![]() |
Voici un test simple que je fais et qui montre mon probleme
Code :
Cdlt, jeeps64 |
||
|
00
|
|
|
#6 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Apparemment tu as oublié de lire ceci : http://www.developpez.net/forums/d28716/bases-donnees/oracle/regles-infos-lire-poster/
|
|
|
00
|
|
|
#7 | ||
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Je n'arrive pas à reproduire votre problème avec 10.2.0.2.
Vous pouvez aussi essayer de mettre NULL dans la colonne. Code :
|
||
|
|
00
|
|
|
#8 |
|
Nouveau Membre du Club
![]() Jean-Philippe SARASY Inscription : mars 2007 Messages : 131 ![]() |
La version de ORACLE est 9.2.0.5
Avec null, ca marche bien en effet et en 10G, ca marche aussi Le seul soucis vient de l'appel de la fonction empty_clob() (enfin je pense) Merci de ton aide pifor jeeps64 |
|
00
|
|
|
#9 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
pour info : c'est la dernière fois que je formate les messages à ta place
Si tu désactives le trigger t'as toujours l'erreur ? Si tu exécutes le code du trigger ça fonctionne ? |
|
|
00
|
|
|
#10 |
|
Nouveau Membre du Club
![]() Jean-Philippe SARASY Inscription : mars 2007 Messages : 131 ![]() |
Si je désactive le Trigger, ca marche en effet très bien
L'execution du trigger aussi Je suis désolé pour le formattage, je ne comprend pas ce que tu veux dire On ne me l'a jamais dis encore (je suis plutot coté SYBASe d'habitude) JE vais lire ton tuto Encore désolé jeeps64 |
|
00
|
|
|
#11 | |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Citation:
|
|
|
|
00
|
|
|
#12 |
|
Nouveau Membre du Club
![]() Jean-Philippe SARASY Inscription : mars 2007 Messages : 131 ![]() |
OK
Ce coup ci, j'ai compris !!! Ca resoud pas mon pb par contre jeeps64 |
|
00
|
|
|
#13 | |||||
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Apparemment c'est une limitation de la 9i
Code :
Citation:
Code :
|
|||||
|
|
00
|
|
|
#14 |
|
Nouveau Membre du Club
![]() Jean-Philippe SARASY Inscription : mars 2007 Messages : 131 ![]() |
Cool, je vais tester cette alternative
Merci encore jeeps64 nb: je vais faire attention aux balises la prochaine fois |
|
00
|
Copyright © 2000-2012 - www.developpez.com