2009-11-15 17 views

risposta

35

sintassi SQL Server per the check constraint:

create table numbers (
    number int not null 
     check(number >= 1234 and number <= 4523), 
    ... 
) 

create table numbers (
    number int not null, 
    check(number >= 1234 and number <= 4523), 
    ... 
) 

create table numbers (
    number int not null, 
    constraint number_range_check 
     check(number >= 1234 and number <= 4523), 
    ... 
) 
+1

Il collegamento qui sotto mi ha davvero aiutato: http://technet.microsoft.com/en-us/library/ms179491.aspx. – Shimmy

+1

Perché dovresti controllare Not Null, quando c'è un vincolo che si occupa indirettamente di esso? Mi sto perdendo qualcosa? – madCode

+5

Per aggiungere un vincolo a una colonna esistente: 'ALTER TABLE Tbl ADD CONSTRAINT ChkTable_Field CHECK (Field BETWEEN 1234 AND 4523)'. –

1

Se si utilizza SQL Server, si desidera utilizzare un vincolo CHECK come questo:

CREATE TABLE foo (
    someint INT NOT NULL CHECK (someint >= 1234 AND someint <= 4523) 
) 
9
CREATE TABLE WhatEver 
(
    ... 
    NumericField INTEGER NOT NULL CHECK(NumericField BETWEEN 1234 AND 4523), 
    ... 
); 

nota che 'tra e' fornisce un intervallo comprensivo dei valori limite citati.

0

Se si utilizza SQL Server tramite SQL Server Management Studio, il modo più conveniente per aggiungere un vincolo di verifica è fare clic con il pulsante destro del mouse sulla cartella Vincoli nella vista ad albero (Esplora oggetti) e quindi, dal menu popup, selezionare Nuovo vincolo.

A di controllo Windows vincolo si apre con un nuovo vincolo vuoto denominato CK_tableName *

È possibile modificare tale nome proposto, e inserire il codice della restrizione di controllo nel campo Espressione.

Quindi il nuovo vincolo viene visualizzato nella cartella Vincolo (dopo aver selezionato la cartella e premuto l'icona di aggiornamento) in Esplora oggetti ed è possibile modificarlo facendo clic con il pulsante destro del mouse e selezionando Modifica dal menu popup.