sql >> Database teknologi >  >> RDS >> Sqlserver

Tilføj flere begrænsninger i én erklæring

Du har tre problemer:

  1. Du afslutter sætningen med ; i slutningen af ​​din anden kodelinje.
  2. Du har FOR MEMBER_ID i den sidste sætning, som sandsynligvis burde være FOR Sys_date .
  3. Du gentager ADD men behøver ikke .

Forudsat denne tabelstruktur:

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

Denne DDL vil virke:

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

Se denne sqlfiddle .

Du kan teoretisk set også se dette på MSDN's side på ALTER TABLE , selvom jeg gerne vil indrømme, at disse specifikationer kan være svære at læse. Her er et stik over, hvordan de forklarer 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 nøgleordet forekommer én gang, og } [ ,...n ] bit fortæller dig, at du kan gentage bit mellem {parentes} n gange, adskilt af en , .



  1. vælg sætning i postgres-funktionen kaldet inde i en trigger

  2. ojdbc14.jar vs. ojdbc6.jar

  3. Tilslutning af MySQL med Visual Studio C#

  4. BESTIL EFTER ét ID, når der er flere af de samme ID'er i en tabel