Ciao ragazzi, ho un problema con il seguente trigger......
CREATE TRIGGER incr_num_rel_trg
BEFORE UPDATE ON document
FOR EACH ROW
BEGIN
DECLARE numrel DECIMAL(4,2);
IF (NEW.stato='RELEASED')
THEN
IF NOT EXISTS (SELECT * FROM document WHERE name=NEW.name AND tipo=NEW.tipo)
THEN IF (NEW.inc='mag') THEN SET NEW.vers_rel=01.00;END IF;
IF (NEW.inc='min') THEN SET NEW.vers_rel=00.01;END IF;
ELSE
SELECT MAX(vers_rel) INTO numrel FROM document WHERE name=NEW.name
AND tipo=NEW.tipo;
IF(NEW.inc='mag') THEN SET numrel=numrel+1;SET NEW.vers_rel=numrel;END IF;
IF(NEW.inc='min') THEN SET numrel=numrel+0.01;SET NEW.vers_rel=numrel;END IF;
END IF;
END IF;
END;
Allora la prima parte ok ma dopo l'ELSE cè qualcosa che non va perchè non incrementa la versione cioè in vers_rel se era 1.00 invece di andare a 2.00 o a 1.01 va a NULL!!!
PERCHE'?????