Bonjour,
je butte sur un léger problème pour gérer une exception lors d'un cast
l'ojbectif obtenir un numéro unique
si l'ASSORTIMENT (code couleur) est numérique alors le nombre (EANNUMBER) sera égal à l'ASSORTIMENT , sinon , on fait une recherche du premier numéro valide . J'ai essayé plusieurs alternatives a ce code , sans succès
FB2.1
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 SET TERM ^ ; ALTER TRIGGER ASSORTS_BI ACTIVE BEFORE INSERT OR UPDATE POSITION 0 AS DECLARE VARIABLE tmp SMALLINT; BEGIN IF ((NEW.EANNUMBER IS NULL) OR (NEW.EANNUMBER=0)) THEN BEGIN NEW.EANNUMBER=CAST(NEW.ASSORTIMENT AS SMALLINT); WHEN ANY DO BEGIN tmp=1; WHILE (EXISTS (SELECT ASSORTIMENT FROM ASSORTS WHERE NOM=NEW.NOM AND ASSORTIMENT=:TMP)) DO TMP=:TMP+1; NEW.EANNUMBER=:TMP; END END END^ SET TERM ; ^
Partager