{SQL Server} Creer une contrainte

mickeyjuve Messages postés 131 Date d'inscription   Statut Membre Dernière intervention   -  
mickeyjuve Messages postés 131 Date d'inscription   Statut Membre Dernière intervention   -
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.

2 réponses

incaout Messages postés 347 Date d'inscription   Statut Membre Dernière intervention   74
 
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 131 Date d'inscription   Statut Membre Dernière intervention   17
 
mais comment l'ecrire?? le code exact!
je ne connais pas trop sql server justement!!
Quelqu'un pourrait m'aider?

Merci
0