Vous avez trois problèmes :
- Vous terminez la déclaration avec le
;
à la fin de votre deuxième ligne de code. - Vous avez
FOR MEMBER_ID
dans la dernière instruction, qui devrait probablement êtreFOR Sys_date
. - Vous répétez
ADD
mais pas obligé .
En supposant cette structure de table :
CREATE TABLE Member (MEMBER_ID BIGINT NOT NULL, Sys_date DATETIME);
Ce DDL fonctionnera :
ALTER TABLE MEMBER
ADD CONSTRAINT U_MEMBERID UNIQUE(MEMBER_ID), primary key (MEMBER_ID),
CONSTRAINT Sys_date DEFAULT GETDATE() FOR Sys_date;
Voir ce sqlfiddle .
Vous pouvez théoriquement aussi voir ceci sur la page MSDN sur ALTER TABLE
, bien que j'admette volontiers que ces spécifications peuvent être difficiles à lire. Voici un aperçu de la façon dont ils l'expliquent :
ALTER TABLE [ database_name . [ schema_name ] . | schema_name . ] table_name
{
ALTER COLUMN column_name
-- Omitted....
| ADD
{
<column_definition>
| <computed_column_definition>
| <table_constraint>
| <column_set_definition>
} [ ,...n ]
-- Omitted....
Le ADD
mot-clé apparaît une fois, et le } [ ,...n ]
bit vous indique que vous pouvez répéter le bit entre {crochets} n
fois, séparés par un ,
.