• [^] # Re: juste une précision sur ce que je souhaite en fait

    Posté par . En réponse au message Comme faire une contrainte dependant de requetes sur la base. Évalué à 3.

    Je n'ai pas testé le code mais ça doit être quelque chose dans ce gout là.
    En gros créer un trigger qui compte le nombre d'enregistrements identiques et interromps le commit si nécessaire.
    (la divison par zéro c'est pour MySQL, avec un autre SGBD tu peut lever une erreur proprement)


    CREATE TRIGGER check_limit_4
    BEFORE INSERT ON my_table
    FOR EACH ROW BEGIN

    DECLARE sim_count AS INT;
    SELECT count(*)
    INTO sim_count
    FROM my_table
    WHERE my_field = :new.my_field

    IF sim_count > 3 THEN 1 /0;

    END


    Mais bon si tu maîtrise totalement la partie applicative, je serait toi je ne m'embêterait pas avec du SQL à moins que ce soit critique.