Máte tři problémy:
- Příkaz ukončíte pomocí
;
na konci druhého řádku kódu. - Máte
FOR MEMBER_ID
v posledním příkazu, což by pravděpodobně mělo býtFOR Sys_date
. - Opakujete
ADD
ale nemusí .
Za předpokladu této struktury tabulky:
CREATE TABLE Member (MEMBER_ID BIGINT NOT NULL, Sys_date DATETIME);
Tento DDL bude fungovat:
ALTER TABLE MEMBER
ADD CONSTRAINT U_MEMBERID UNIQUE(MEMBER_ID), primary key (MEMBER_ID),
CONSTRAINT Sys_date DEFAULT GETDATE() FOR Sys_date;
Viz tento sqlfiddle .
můžete teoreticky to také najdete na stránce MSDN na ALTER TABLE
, i když bych klidně připustil, že tyto specifikace mohou být těžko čitelné. Zde je ukázka toho, jak to vysvětlují:
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
klíčové slovo se vyskytuje jednou a } [ ,...n ]
bit vám říká, že můžete opakovat bit mezi {závorkami} n
krát oddělených ,
.