Posez votre question Signaler

Contraintes check +SQLServer

gauchino 12Messages postés mardi 16 novembre 2004Date d'inscription 30 mai 2005Dernière intervention - Dernière réponse le 1 juin 2007 à 16:22
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:
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
Lire la suite 
Réponse
+1
moins plus
La syntaxe:

create rule [MaRule] as @value like '[A-Z][a-z]'
GO
EXEC sp_bindrule N'MaRule', N'[NomTable].[NomColonne]'
GO
gauchino 12Messages postés mardi 16 novembre 2004Date d'inscription 30 mai 2005Dernière intervention - 30 mai 2005 à 10:31
j'ai créer la régle, mais en inserant des données ,il n'accepte que les données de 2 lettres en majiscule ou miniscule( exemple FR ou fr) mais si je lui insére un nom de plus que 2 lettres il me génére un conflit à cause de la règle.
Répondre
Ajouter un commentaire
Annonces
 
moins plus
Réponse
+0
moins plus
Créé une rule (CREATE RULE...) puis bind là à ta colonne.
(Je n'ai plus la syntaxe en tête).
Ajouter un commentaire
Annonces
 
moins plus
Réponse
+0
moins plus
ah oui pardon.
Effectivement cette expression ne match pas plusieurs caractères.
gauchino 12Messages postés mardi 16 novembre 2004Date d'inscription 30 mai 2005Dernière intervention - 30 mai 2005 à 11:03
et vous ne savez pas comment on fait pour tout l'alphabet
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
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.
gauchino 12Messages postés mardi 16 novembre 2004Date d'inscription 30 mai 2005Dernière intervention - 30 mai 2005 à 11:42
merci en tout cas
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
essaye avec ca :
alter table nom_de_table
add constrainte ck_1
check(nom not like '[0-9]')
Ajouter un commentaire
Ce document intitulé «  contraintes check +SQLServer  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

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.

Le fait d'être membre vous permet d'avoir des options supplémentaires.