{SQL Server} Creer une contrainte

Fermé
mickeyjuve Messages postés 130 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 3 août 2011 - 22 nov. 2009 à 17:32
mickeyjuve Messages postés 130 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 3 août 2011 - 29 nov. 2009 à 18:36
Bonjour,
j'ai cree une base de donnees sql server 2008.
c'est pour un site de reservations de place de cinema;
il doit y avoir 3 films recommandes en page d'acceuil;
j'ai donc rajoute une colonne dans ma database qui contient des donnees de types boolean;
il doit y avoir que 3 films (et pas plus) dont la donnee est <true>!!
comment creer cette contrainte qui permettrait donc de ne pas avoir plus de 3 films recommandes?????

Merci beaucoup.
A voir également:

2 réponses

incaout Messages postés 347 Date d'inscription lundi 8 septembre 2008 Statut Membre Dernière intervention 15 novembre 2012 74
22 nov. 2009 à 18:03
Salut,

je ne connais pas du tout comment fonctionne SQL server. D'après ce document http://www.commentcamarche.net/contents/sql/sqlcontr.php3, tu devrais pouvoir faire une contrainte sur ta colonne à l'aide de l'instruction CHECK qui controle que le nombre de champs dont la valeur pour cette colonne est à true est infèrieur à 3.

quelque chose du genre :

constraint ck_recommande
check (recommande + SELECT COUNT(recommande) < = 3).

Je ne sais pas si la syntaxe est exacte et si il est nécessaire de préciser le nom de table dans la requete Select count. A tester.

Sinon, tu peux aussi ne pas mettre de contraintes sur la colonne, mais un trigger qui compte le nombre ligne dont la valeur est à vrai avant l'insertion et autorise ou non l'opération.

Cdlt

IC
0
mickeyjuve Messages postés 130 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 3 août 2011 17
29 nov. 2009 à 18:36
mais comment l'ecrire?? le code exact!
je ne connais pas trop sql server justement!!
Quelqu'un pourrait m'aider?

Merci
0