Hai tre problemi:
- Chiudi l'istruzione con il
;
alla fine della seconda riga di codice. - Hai
FOR MEMBER_ID
nell'ultima istruzione, che dovrebbe essere probabilmenteFOR Sys_date
. - Ripeti
ADD
ma non è necessario .
Assumendo questa struttura di tabella:
CREATE TABLE Member (MEMBER_ID BIGINT NOT NULL, Sys_date DATETIME);
Questo DDL funzionerà:
ALTER TABLE MEMBER
ADD CONSTRAINT U_MEMBERID UNIQUE(MEMBER_ID), primary key (MEMBER_ID),
CONSTRAINT Sys_date DEFAULT GETDATE() FOR Sys_date;
Vedi questo sqlfiddle .
puoi in teoria, puoi vederlo anche sulla pagina di MSDN su ALTER TABLE
, anche se ammetto prontamente che queste specifiche possono essere difficili da leggere. Ecco una pugnalata su come lo spiegano:
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....
Il ADD
la parola chiave compare una volta e il } [ ,...n ]
bit ti dice che puoi ripetere il bit tra {parentesi} n
volte, separati da un ,
.