sql >> Base de Datos >  >> RDS >> Sqlserver

Agregue múltiples restricciones en una declaración

Tienes tres problemas:

  1. Terminas la instrucción con ; al final de su segunda línea de código.
  2. Tiene FOR MEMBER_ID en la última declaración, que probablemente debería ser FOR Sys_date .
  3. 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 , .