Je hebt drie problemen:
- U beëindigt de verklaring met de
;
aan het einde van je tweede regel code. - Je hebt
FOR MEMBER_ID
in de laatste instructie, die waarschijnlijkFOR Sys_date
. zou moeten zijn . - Je herhaalt
ADD
maar hoeft niet .
Uitgaande van deze tabelstructuur:
CREATE TABLE Member (MEMBER_ID BIGINT NOT NULL, Sys_date DATETIME);
Deze DDL werkt:
ALTER TABLE MEMBER
ADD CONSTRAINT U_MEMBERID UNIQUE(MEMBER_ID), primary key (MEMBER_ID),
CONSTRAINT Sys_date DEFAULT GETDATE() FOR Sys_date;
Zie deze sqlfiddle .
Je kunt zie dit theoretisch ook op de MSDN-pagina op ALTER TABLE
, hoewel ik graag zou toegeven dat die specificaties moeilijk te lezen zijn. Hier is een poging om te zien hoe ze het uitleggen:
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....
De ADD
trefwoord komt één keer voor, en de } [ ,...n ]
bit vertelt je dat je het bit tussen {haakjes} n
. kunt herhalen tijden, gescheiden door een ,
.