sql >> Databasteknik >  >> RDS >> Sqlserver

Lägg till flera begränsningar i ett påstående

Du har tre problem:

  1. Du avslutar uttalandet med ; i slutet av din andra kodrad.
  2. Du har FOR MEMBER_ID i den sista satsen, som förmodligen borde vara FOR Sys_date .
  3. Du upprepar ADD men behöver inte .

Antag denna tabellstruktur:

CREATE TABLE Member (MEMBER_ID BIGINT NOT NULL, Sys_date DATETIME);

Denna DDL kommer att fungera:

ALTER TABLE MEMBER
ADD CONSTRAINT U_MEMBERID UNIQUE(MEMBER_ID), primary key (MEMBER_ID),
    CONSTRAINT Sys_date DEFAULT GETDATE() FOR Sys_date;

Se denna sqlfiddle .

Du kan teoretiskt sett se även detta på MSDN:s sida på ALTER TABLE , även om jag gärna vill erkänna att dessa specifikationer kan vara svåra att läsa. Här är en slump på hur de förklarar det:

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 nyckelordet förekommer en gång och } [ ,...n ] bit talar om för dig att du kan upprepa biten mellan {parentes} n gånger, åtskilda av en , .



  1. SQL - Subtrahera ett utarmande värde från rader

  2. Oracle XSLT:standardnamnutrymme resulterar i tomma taggar

  3. Google Maps geokoder för att hitta närliggande platser från MySQL-databasen

  4. Hantera hög tillgänglighet i PostgreSQL – Del II:Replikeringshanterare