Masz trzy problemy:
- Kończysz oświadczenie za pomocą
;
na końcu drugiej linii kodu. - Masz
FOR MEMBER_ID
w ostatniej instrukcji, która prawdopodobnie powinna byćFOR Sys_date
. - Powtarzasz
ADD
ale nie trzeba .
Zakładając taką strukturę tabeli:
CREATE TABLE Member (MEMBER_ID BIGINT NOT NULL, Sys_date DATETIME);
To DDL będzie działać:
ALTER TABLE MEMBER
ADD CONSTRAINT U_MEMBERID UNIQUE(MEMBER_ID), primary key (MEMBER_ID),
CONSTRAINT Sys_date DEFAULT GETDATE() FOR Sys_date;
Zobacz ten sqlfiddle .
możesz teoretycznie zobacz to również na stronie MSDN na ALTER TABLE
, choć chętnie przyznam, że te specyfikacje mogą być trudne do odczytania. Oto przykład, jak to wyjaśniają:
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
słowo kluczowe występuje raz, a } [ ,...n ]
bit mówi, że możesz powtórzyć bit między {nawiasami klamrowymi} n
razy, oddzielone ,
.