Tienes tres problemas:
- Terminas la instrucción con
;
al final de su segunda línea de código. - Tiene
FOR MEMBER_ID
en la última declaración, que probablemente debería serFOR Sys_date
. - Repite
ADD
pero no es necesario .
Asumiendo esta estructura de tabla:
CREATE TABLE Member (MEMBER_ID BIGINT NOT NULL, Sys_date DATETIME);
Este DDL funcionará:
ALTER TABLE MEMBER
ADD CONSTRAINT U_MEMBERID UNIQUE(MEMBER_ID), primary key (MEMBER_ID),
CONSTRAINT Sys_date DEFAULT GETDATE() FOR Sys_date;
Ver este sqlfiddle .
Tu puedes teóricamente también vea esto en la página de MSDN en ALTER TABLE
, aunque admitiría fácilmente que esas especificaciones pueden ser difíciles de leer. Aquí hay una puñalada de cómo lo explican:
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....
El ADD
palabra clave aparece una vez, y } [ ,...n ]
bit te dice que puedes repetir el bit entre {brackets} n
veces, separados por ,
.