Имате три проблема:
- Прекратявате оператора с
;
в края на вашия втори ред код. - Имате
FOR MEMBER_ID
в последния израз, който вероятно трябва да бъдеFOR Sys_date
. - Повтаряте
ADD
но не е нужно .
Ако приемем тази структура на таблицата:
CREATE TABLE Member (MEMBER_ID BIGINT NOT NULL, Sys_date DATETIME);
Този DDL ще работи:
ALTER TABLE MEMBER
ADD CONSTRAINT U_MEMBERID UNIQUE(MEMBER_ID), primary key (MEMBER_ID),
CONSTRAINT Sys_date DEFAULT GETDATE() FOR Sys_date;
Вижте този sqlfiddle .
Вие можете теоретично също вижте това на страницата на MSDN на ALTER TABLE
, въпреки че с готовност бих признал, че тези спецификации могат да бъдат трудни за четене. Ето как го обясняват:
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
ключова дума се среща веднъж и } [ ,...n ]
bit ви казва, че можете да повторите бита между {скоби} n
пъти, разделени с ,
.