procedure dans un trigger
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 :
procedure
Code:
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 trigger
Code:
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 )
end |
et l'erreur aussi
Code:
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. |
MERCI , je suis debutant