Bonjour à tous,

J'essaie de modifier la valeur NEW.valeur dans un trigger sous Oracle RDB. cependant cela ne fonctionne pas.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
CREATE TRIGGER TRG_TV_BI
	BEFORE INSERT ON TV
	REFERENCING NEW AS nw
 
	WHEN (nw.NU_CL IS NOT NULL) 
	(
		nw.NU_VALEUR := GETVALUE(nw.NU_CL);
	)
	WHEN (nw.NU_VALEUR LIKE 'CL%' AND nw.NU_CL IS NULL)
	(
		SIGNAL '50000'('the CL must be defined.');
	)
	FOR EACH ROW;
J'ai tenté toutes les variantes que je connais (set nw.nu_valeur... ; nw.nu_valeur = ....; nw.nu_valeur := ......)

Quelqu'un saurait-il comment je pourrais réussir cette opération ou cela est tout simplement impossible.

L'idée est de définir une valeur qui me permettra d'identifier la table associée à NU_CL. GETVALUE me renvoie un code qui me permet de connaitre de quelle table provient NU_CL. Ce code est obtenu suite à une grosse requete UNION.

Merci d'avance.