2014-10-05 20 views
0
CREATE TABLE [dbo].[AdminTest] (
    [AdminTestId] INT   IDENTITY (1, 1) NOT NULL, 
    [Title]  NVARCHAR (100) NOT NULL, 
    [CreatedBy] INT   NOT NULL, 
    [CreatedDate] DATETIME  NOT NULL, 
    [ModifiedBy] INT   NOT NULL, 
    [ModifiedDate] DATETIME  NOT NULL, 
    [TestLevelId] INT   NOT NULL, 
    [TestStatusId] INT   NOT NULL, 
    [ExamId]  INT   NOT NULL, 
    [Text]   NVARCHAR (MAX) NULL, 
    [Sequence]  INT   DEFAULT ((1)) NOT NULL, 
    [Release]  NVARCHAR (50) DEFAULT ((1)) NOT NULL, 
    [Version]  ROWVERSION  NOT NULL, 
    [Price]  MONEY   DEFAULT ((0)) NOT NULL, 
    [ReleaseDate] DATETIME  NULL, 
    [Code]   VARCHAR (10) DEFAULT (LEFT(newid(), (5))) NOT NULL 
); 

我設置代碼列有一個默認的,但我怎樣才能使它Code Code列有一個至少5個字符的值?如何在SQL Server中需要最少數量的字符?

+0

創建檢查約束:http://technet.microsoft.com/en-us/library/ms188258(v=sql.105 ).aspx – 2014-10-05 10:06:59

+0

使用check constranint:'check(length(code)> = 5)'? (我不確定在SQL Server中是否存在'length()',但是一些具有相似名稱的函數必須存在) – 2014-10-05 10:07:16

回答

2

創建檢查約束:

ALTER TABLE AdminTest 
    ADD CONSTRAINT CK_AdminTest_Code_Length CHECK (LEN(Code) >= 5); 
GO 

編號:CHECK Constraints

相關問題