ich eine Tabelle in PostgreSQL 9.4 haben:Constraint auf Summe aus Reihen
user_votes (
user_id int,
portfolio_id int,
car_id int
vote int
)
Ist es möglich, eine Einschränkung auf den Tisch zu legen, um ein Benutzer max 99 Punkt mit in jedem Portfolio zu bewerten haben kann? Dies bedeutet, dass ein Benutzer mehrere Zeilen haben kann, die aus der gleichen user_id und portfolio_id bestehen, aber unterschiedliche car_id und vote. Die Summe der Stimmen sollte niemals 99 überschreiten, aber es kann zwischen verschiedenen Autos platziert werden.
So tun:
INSERT INTO user_vores (user_id, portfolio_id, car_id, vote) VALUES
(1, 1, 1, 20),
(1, 1, 7, 40),
(1, 1, 9, 25)
würde alles erlaubt sein, aber wenn man versucht, etwas hinzuzufügen, die 99 Stimmen übersteigen soll, wie eine andere Zeile fehlschlagen:
INSERT INTO user_vores (user_id, portfolio_id, car_id, vote) VALUES
(1, 1, 21, 40)