Bonjour

Je voudrais insérer automatiquement une valeur auto-incrémentée dans une table grace a un trigger. Au 1er déclenchement du trigger, ma table est vide, je veux donc qu'il fasse :
si rang is null alors rang =0 puis rang=rang+1.
(NB:rang ne peut etre null)

Voilà mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
CREATE OR REPLACE TRIGGER INCR_RANG
BEFORE INSERT ON NOM_TABLE
FOR EACH ROW 
BEGIN
	IF :new.rang is null 
	THEN :new.rang:=0; 
	END IF; 
	SELECT MAX(rang)+1
	INTO :NEW.rang 
	FROM NOM_TABLE; 
END;
L'erreur générée est
ORA-01400: impossible d'insérer NULL dans ("NOM_TABLE"."RANG")

Qqun peut-il m'aider ?
Merci