我是新手SQL CHECK CONSTRAINT
,需要一些东西来验证我的表中三列的组合与另一行的列不匹配.
我有一个Report表,包括我需要检查的三列:NAME,CREATEDBY和TYPE.不能创建具有这三个值相同的行的多个.
请帮忙!
CREATE TABLE Report(
ReportID INT IDENTITY(1,1) NOT NULL,
[Name] VARCHAR(255) NOT NULL,
CreatedBy VARCHAR(50) NOT NULL,
[Type] VARCHAR(50) NOT NULL,
PageSize INT NOT NULL DEFAULT 25,
Criteria XML NOT NULL
CONSTRAINT CHK_Name_CreatedBy_Type CHECK ([Name], CreatedBy, [Type])
)
ALTER TABLE Report
ADD CONSTRAINT PK_Report PRIMARY KEY (ReportID)
Run Code Online (Sandbox Code Playgroud)
显然,约束目前没有意义,因为它没有提供布尔值...
CONSTRAINT CHK_Name_CreatedBy_Type CHECK ([Name], CreatedBy, [Type])
Run Code Online (Sandbox Code Playgroud)
提前致谢!!
您需要一个UNIQUE约束:
CONSTRAINT UNQ_Name_CreatedBy_Type UNIQUE ([Name], CreatedBy, [Type])
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2455 次 |
最近记录: |