Soyez le premier à donner votre avis sur cette source.
Snippet vu 12 699 fois - Téléchargée 19 fois
create TRIGGER VerifyPhone on T_client instead of insert,update as begin declare @i smallint,@b smallint,@tel varchar(20) set @tel=(select cli_tel from INSERTED) select @b=1 select @i=1 while @i<=len(@tel) and @b=1 begin if (ascii(substring(@tel,@i,1))<48 or ascii(substring(@tel,@i,1))>57) and (ascii(substring(@tel,@i,1))<>46) select @b=0 select @i=@i+1 end if @b=0 begin ROLLBACK TRANSACTION print 'Transaction annulée' print 'numéro de téléphone Invalide' end else begin if update(cli_tel) delete T_client where cli_id=(select cli_id from deleted) insert T_client select * from INSERTED end end
en ce qui concerne le check j'essayerai de le mettre en place.ça fera moins de code ;)
a+
Le type AFTER serait parfait pour çà.
Deuxièmement un CHECK avec une fonction réalisant la même chose serait mieux (le CHECK vérifiant les valeurs avant insertion).
Dernier point le
select @b=1
select @i=1
Se simplifie en
select @b=1, @i=1
Sinon bonne idée.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.