J'ai le contrôle SQL suivant et accepte les valeurs supposées être deux lettres majuscules suivies de 3 valeurs numériques.Contrainte SQL pour la vérification de deux lettres majuscules suivies de valeurs numériques
CREATE TABLE Project(
projectID NCHAR(5) NOT NULL PRIMARY KEY,
CHECK(projectID LIKE '[A-Z][A-Z][0-9][0-9][0-9]'),
projectName NVARCHAR(20) NOT NULL UNIQUE,
budget MONEY NOT NULL)
comment voulez-vous faire en sorte qu'il n'accepte les lettres en majuscules suivies de 3 chiffres pour le ProjectID? ex. il devrait rejeter des valeurs comme 'au123' et accepter des valeurs comme 'AU123'.
Qu'est-ce que SGBDR utilisez-vous? –
Attendez ... le tableau ci-dessus vérifie-t-il de fonctionner ou non? C'est vague. Par ma lecture, il semble que cela devrait fonctionner. –
Cela ne devrait pas fonctionner. "LIKE" ne fait pas de regexp, juste des caractères génériques (?, _). Par exemple, SQL Anywhere 11 semble introduire un nouveau mot-clé "REGEXP" pour pouvoir effectuer une correspondance regexp. – pascal