Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Добавете множество ограничения в един израз

Имате три проблема:

  1. Прекратявате оператора с ; в края на вашия втори ред код.
  2. Имате FOR MEMBER_ID в последния израз, който вероятно трябва да бъде FOR Sys_date .
  3. Повтаряте ADD но не е нужно .

Ако приемем тази структура на таблицата:

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

Този DDL ще работи:

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

Вижте този sqlfiddle .

Вие можете теоретично също вижте това на страницата на MSDN на ALTER TABLE , въпреки че с готовност бих признал, че тези спецификации могат да бъдат трудни за четене. Ето как го обясняват:

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 ] bit ви казва, че можете да повторите бита между {скоби} n пъти, разделени с , .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да инсталирам пълен текст на sql сървър 2008?

  2. Как да получа брой false във всяка колона на таблица?

  3. sql група по спрямо различна

  4. Преобразувайте „datetime2“ в „date“ в SQL Server (T-SQL примери)

  5. Съхранената процедура е бавна при извикване от мрежата, бърза от Management Studio