En ce qui concerne la personne (NSS, État, Nom), ajoutez un contrôle à base tuple: si l'état d'une personne est NY, les trois premiers chiffres de son SSN doit soit entre «050» et «134». (Indice: utilisez la fonction GAUCHE en SQL).Ajouter un chèque à base tuple à cette relation
CREATE TABLE Person (
SSN INT PRIMARY KEY,
State CHAR(50),
Name CHAR(100),
CHECK (
SELECT LEFT (SSN, 3) AS FirstThreeDigits, SSN FROM Person,
WHERE Person.State == ‘NY’) between '050' and between '134'
);
Je ne suis pas à l'aise avec la condition CHECK ici. Je ne suis pas sûr que ce soit la bonne façon de faire un contrôle conditionnel. Quelqu'un peut-il vérifier cela? Sinon, comment faisons-nous un contrôle conditionnel?
Nous avons besoin:
if state == 'NY', perform CHECK
Avons-nous besoin d'un déclencheur? Je pensais que si une nouvelle insertion/mise à jour se produit, vérifiez la valeur. Mais la question ne le demande pas.
Quelle est l'arrière? –
@Conrad Frix C'est juste une déclaration SQL. Non spécifique à la plate-forme. C'est un cours d'introduction. Merci. Donc, je pense que toutes les instructions SQL générales seront valides. – CppLearner