2011-06-08 1 views
3

J'essaie de trouver un moyen de valider les données dans mes colonnes en utilisant les contraintes regex CHECK mais je n'ai rencontré jusqu'ici que le mot-clé LIKE qui a un sous-ensemble extrêmement limité de syntaxe regex. Je voudrais savoir s'il existe un moyen d'utiliser regex dans les contraintes de vérification?Les contraintes de vérification de la regex sont-elles possibles dans SQL Server

J'utilise SQL Server 2005 et 2008.

+1

Jusqu'à présent, je n'ai trouvé un DBE qui prend en charge les contraintes de regex POSIX et il est Oracle (Référence: http://stackoverflow.com/questions/35157662/is-there-a-database-engine-that-allows-for-queriable-field-constraint-specified). MS SQL et DB2 semblent avoir leur propre variante générique, ce qui est regrettable car vous perdez la cohérence des contraintes entre les couches :( –

Répondre

4

Je pense que vous pouvez créer une UDF scalaire CLR qui peut utiliser le framework .Net classes de RegEx, puis appeler à partir de votre contrainte de vérification.

En fait, this article discute de ce scénario (recherchez "Vérifier la contrainte", puis reculer dans l'article pour trouver les détails d'implémentation).

Questions connexes