Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Dodaj wiele ograniczeń w jednej instrukcji

Masz trzy problemy:

  1. Kończysz oświadczenie za pomocą ; na końcu drugiej linii kodu.
  2. Masz FOR MEMBER_ID w ostatniej instrukcji, która prawdopodobnie powinna być FOR Sys_date .
  3. Powtarzasz ADD ale nie trzeba .

Zakładając taką strukturę tabeli:

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

To DDL będzie działać:

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

Zobacz ten sqlfiddle .

możesz teoretycznie zobacz to również na stronie MSDN na ALTER TABLE , choć chętnie przyznam, że te specyfikacje mogą być trudne do odczytania. Oto przykład, jak to wyjaśniają:

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 słowo kluczowe występuje raz, a } [ ,...n ] bit mówi, że możesz powtórzyć bit między {nawiasami klamrowymi} n razy, oddzielone , .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak podzielić ciąg i wstawić wartości do tabeli w SQL Server

  2. Jak wybrać nieużywane kody w tej próbce?

  3. Wykonywanie pakietu SSIS jako zadanie SQLAgent

  4. Jak mogę użyć instrukcji if po CTE (SQL Server 2005)

  5. Oblicz różnicę czasu między dwoma rzędami