2014-10-05 56 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

相关问题