bonsoir ,
j'ai plusieurs tables mais je dois dans une table faire une contrainte sur une table "contrat" car je dois limiter a un locataire un nombre de logement a 3 , vu que chaque logement a un seul contrat et chaque contrat un locataire j'ai joué sur la clé etrangére du locataire qui se trouve sur la table contrat pour faire la contrainte mais je ne sais pas pourquoi cela ne marche pas voici mes 2 codes :
procedureet trigger
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 create procedure nbre_logement (@num_locataire int) as IF( select COUNT(num_locataire) from contrat where num_contrat=@num_locataire) > 3 begin print 'vous ne pouvez pas depasser 3 logements' return end
et l'erreur aussi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 create trigger controle_nbr_log on contrat for insert as begin declare @loc as int; declare @nbr as int; set @loc =(select num_locataire from inserted ) set @nbr= nbre_logement(@loc ) endMERCI , je suis debutant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Msg*195, Niveau*15, État*10, Procédure*controle_nbr_log, Ligne*9 'nbre_logement' n'est pas une option nom de fonction intégrée reconnue.
Partager