Tsql 如何在SQL Server中添加检查约束?
我想向数据库中名为Tsql 如何在SQL Server中添加检查约束?,tsql,constraints,sql-server-2014,Tsql,Constraints,Sql Server 2014,我想向数据库中名为service的表添加以下约束 约束1: DateCompleted和DueDate都不能在StartDate之前 CREATE TABLE [Service] ( Service_ID INT NOT NULL PRIMARY KEY , Invoice_ID INT , Project_ID INT NOT NULL , Description CHAR(20) NOT NULL , Start_Dat
service
的表添加以下约束
约束1:
DateCompleted
和DueDate
都不能在StartDate
之前
CREATE TABLE [Service] (
Service_ID INT NOT NULL PRIMARY KEY
, Invoice_ID INT
, Project_ID INT NOT NULL
, Description CHAR(20) NOT NULL
, Start_Date VARCHAR(10) NOT NULL
, Due_Date VARCHAR(10)
, Planned_Price VARCHAR(10)
, Actual_Price VARCHAR(10)
, Status CHAR(10) NOT NULL
, Date_Completed VARCHAR(10)
);
应将另一个约束添加到名为client
的表中
约束2:
列Post\u code
值应为三位或四位正整数
CREATE TABLE [Client] (
Client_ID INT NOT NULL PRIMARY KEY
, First_Name VARCHAR(15) NOT NULL
, Last_Name VARCHAR(15) NOT NULL
, Street_Address VARCHAR(50)
, Suburb VARCHAR(15) NOT NULL
, State VARCHAR(3) NOT NULL
, Post_Code INT NOT NULL
, Phone_number INT NOT NULL
);
服务:
ALTER TABLE [Service]
ADD CONSTRAINT [service_datecheck]
CHECK ([StartDate] <= [DateCompleted] AND [StartDate] <= [DueDate]);
服务:
ALTER TABLE [Service]
ADD CONSTRAINT [service_datecheck]
CHECK ([StartDate] <= [DateCompleted] AND [StartDate] <= [DueDate]);
可能在负片上失败。>=100@papazzi我确实想过这样做,而且可能更好,但我选择了完全符合问题的方式。完全符合我的要求。希望你也能解决这个问题。请检查负片是否可能失败。>=100@papazzi我确实想过这样做,而且可能更好,但我选择了完全符合问题的方式。完全符合我的要求。希望你也能解决这个问题。请查收