Contraintes check +SQLServer
gauchino
Messages postés
12
Statut
Membre
-
yazane -
yazane -
bonjour
je voudrais une écrire une contrainte sur un champ de type varchar dans une BD SQLServer, le champ s'appelle nom je voudrais m'assurer qu'il ne comporte pas de chiffre(A-Z)
j'ai écrit:
mais SQLServer ne l'accepte pas, si vous pouvez m'aider
N.b : j'ai bien vérifier que les données existantes vérifient la contrainte
merci d'avance
je voudrais une écrire une contrainte sur un champ de type varchar dans une BD SQLServer, le champ s'appelle nom je voudrais m'assurer qu'il ne comporte pas de chiffre(A-Z)
j'ai écrit:
alter table matable
add constrainte nom_valide
check(nom like('[A-Z][a-z]'))
mais SQLServer ne l'accepte pas, si vous pouvez m'aider
N.b : j'ai bien vérifier que les données existantes vérifient la contrainte
merci d'avance
5 réponses
-
La syntaxe:
create rule [MaRule] as @value like '[A-Z][a-z]'
GO
EXEC sp_bindrule N'MaRule', N'[NomTable].[NomColonne]'
GO -
Créé une rule (CREATE RULE...) puis bind là à ta colonne.
(Je n'ai plus la syntaxe en tête). -
ah oui pardon.
Effectivement cette expression ne match pas plusieurs caractères. -
La syntaxe d'expression régulières de SQL Server est très limitée.
Je doute que tu arrive à ajouter une telle contrainte.
Il faudra implémenter cette contrainte au niveau de ton code, je le crains. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -