Sie haben drei Probleme:
- Sie schließen die Anweisung mit dem
;
ab am Ende Ihrer zweiten Codezeile. - Du hast
FOR MEMBER_ID
in der letzten Anweisung, die wahrscheinlichFOR Sys_date
sein sollte . - Sie wiederholen
ADD
aber müssen nicht .
Angenommen diese Tabellenstruktur:
CREATE TABLE Member (MEMBER_ID BIGINT NOT NULL, Sys_date DATETIME);
Diese DDL funktioniert:
ALTER TABLE MEMBER
ADD CONSTRAINT U_MEMBERID UNIQUE(MEMBER_ID), primary key (MEMBER_ID),
CONSTRAINT Sys_date DEFAULT GETDATE() FOR Sys_date;
Siehe dieses sqlfiddle .
Sie können siehe theoretisch auch auf der MSDN-Seite auf ALTER TABLE
, obwohl ich bereitwillig zugeben würde, dass diese Spezifikationen schwer zu lesen sind. Hier ist ein Stich, wie sie es erklären:
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....
Das ADD
Schlüsselwort kommt einmal vor, und der } [ ,...n ]
bit sagt Ihnen, dass Sie das Bit zwischen {Klammern} n
wiederholen können Mal, getrennt durch ,
.