Du har tre problem:
- Du avslutar uttalandet med
;
i slutet av din andra kodrad. - Du har
FOR MEMBER_ID
i den sista satsen, som förmodligen borde varaFOR Sys_date
. - Du upprepar
ADD
men behöver inte .
Antag denna tabellstruktur:
CREATE TABLE Member (MEMBER_ID BIGINT NOT NULL, Sys_date DATETIME);
Denna DDL kommer att fungera:
ALTER TABLE MEMBER
ADD CONSTRAINT U_MEMBERID UNIQUE(MEMBER_ID), primary key (MEMBER_ID),
CONSTRAINT Sys_date DEFAULT GETDATE() FOR Sys_date;
Se denna sqlfiddle .
Du kan teoretiskt sett se även detta på MSDN:s sida på ALTER TABLE
, även om jag gärna vill erkänna att dessa specifikationer kan vara svåra att läsa. Här är en slump på hur de förklarar det:
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....
ADD
nyckelordet förekommer en gång och } [ ,...n ]
bit talar om för dig att du kan upprepa biten mellan {parentes} n
gånger, åtskilda av en ,
.