Ajouter des contraintes multiples en une seule instruction
Je suis censé modifier mon tableau actuel de MEMBRES nommés dans Microsoft SQL Server 2012.
Je suis en train de modifier les tables
ALTER TABLE MEMBER
ADD CONSTRAINT U_MEMBERID UNIQUE(MEMBER_ID), primary key (MEMBER_ID);
ADD CONSTRAINT Sys_date DEFAULT GETDATE() FOR MEMBER_ID;
Le ci-dessus ne fonctionne pas et il dit:
Msg 156, Niveau 15, État 1, Ligne 3
Syntaxe incorrecte près du mot clé "CONTRAINTE".
Je pense que je suis en train de faire quelque chose de mal, mais je ne suis pas sûr de ce qu'il est.
ALTER TABLE TITLE
ADD CONSTRAINT U_TITLEID UNIQUE(TITLE_ID), primary key (TITLE_ID);
add constraint C_CATEGORY CHECK(CATEGORY='DRAMA' OR 'COMEDY' OR 'ACTION'
OR 'CHILD' OR 'SCIFI' OR 'DOCUMENTARY';
Aussi: est-il possible d'ajouter le code ci-dessus pour le code qui le précède et d'exécuter les deux dans la même requête sql?
Comment puis-je résoudre ce problème?
Le dernier bit est probablement une question ("Est-il possible d'exécuter deux instructions DDL sur les différentes tables dans une requête sql?").
OriginalL'auteur user3579754 | 2014-07-06
Vous devez vous connecter pour publier un commentaire.
Vous avez trois problèmes:
;
à la fin de votre deuxième ligne de code.FOR MEMBER_ID
dans le dernier rapport, qui devrait probablement êtreFOR Sys_date
.ADD
mais n'avez pas à.En supposant que cette structure de table:
Cette DDL:
Voir cette sqlfiddle.
Vous peut théoriquement aussi le voir sur les MSDN de la page
ALTER TABLE
, bien que j'avais facilement admettre ces spécifications peuvent être difficiles à lire. Voici un coup de couteau à la façon dont ils l'expliquent:La
ADD
mot-clé se produit à la fois, et la} [ ,...n ]
peu vous dit que vous pouvez répéter le mot entre {crochets}n
fois, séparées par un,
.OriginalL'auteur Jeroen
OriginalL'auteur mehdi lotfi