2009-11-15 107 views

回答

35

SQL Server語法爲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

下面的鏈接確實幫了我:http://technet.microsoft.com/en-us/library/ms179491.aspx。 – Shimmy 2009-11-15 16:17:41

+1

當間接地處理它時,爲什麼要檢查Not Null?我錯過了什麼嗎? – madCode 2013-07-09 14:17:22

+5

將約束添加到現有列:'ALTER TABLE Tbl ADD CONSTRAINT ChkTable_Field CHECK(Field between BETWEEN 1234 AND 4523)''。 – 2014-06-18 23:14:37

1

如果您使用的是SQL Server時,要使用CHECK約束這樣的:

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), 
    ... 
); 

注意 '之間和它們'提供了一個範圍,包括報價極限值。

0

如果通過SQL Server Management Studio使用SQL Server,添加檢查約束的最方便的方法是右鍵單擊樹視圖(對象資源管理器)中的約束文件夾,然後從彈出式菜單中,選擇New Constraint。

檢查約束窗口名爲CK_tableName *

您可以編輯這樣的建議名稱,然後將檢查約束的代碼在表達式領域的一個新的空約束彈出。

然後,新約束出現在對象資源管理器中的約束文件夾中(在選擇文件夾並點擊刷新圖標後),並且可以右鍵單擊該文件並從彈出菜單中選擇修改。