Bonsoir tout le monde,

j'ai une table conge(id_conge,nombre_jour,annee,id_employe) je voudrais insérer des donnée mais je veux que chaque employé prend pour chaque année 20 jour il ne peut pas prendre plus de 20 jour chaque année par exemple si employé remplir un congé:

id conge:1

id_employe:455

nombre_jour:25

annee:2017

Erreur

pour chaque année l’employé ne peut pas surpasse 20 jour.

je veux des idée et conseil a propos a ce sujet est ce que il faut crée un trigger comment je peut faire.

Et merci

1 réponse


Salut,
avec un trigger :

pour l'insert :

CREATE TRIGGER conge_b_i
    BEFORE INSERT
    ON conge
    FOR EACH ROW
BEGIN
    IF NEW.nombre_jour >20 THEN
        SIGNAL SQLSTATE '45000' set message_text='Le nombre de jour de peut exeder 20';
    END IF;    
END

pour update :

CREATE TRIGGER conge_b_u
    BEFORE UPDATE
    ON conge
    FOR EACH ROW
BEGIN
    IF NEW.nombre_jour >20 THEN
        SIGNAL SQLSTATE '45000' set message_text='Le nombre de jour de peut exeder 20';
    END IF;    
END

Fonctionne à partir de MYSQL 5.5

@plus.

Pierre