使用SQL管理工作室检查约束错误

时间:2014-06-03 11:58:31

标签: sql

CREATE TABLE [dbo].[SALES]
(
    [SaleID] [uniqueidentifier] NOT NULL DEFAULT NEWID(), 
    [ProductID] [int] NOT NULL,
    [WorkID] [int] NOT NULL,
    [Quantity] [smallint] NOT NULL,
    [SaleDate] [datetime] NOT NULL CONSTRAINT DF_SaleDate DEFAULT (GETDATE())
    CONSTRAINT CHK_QuantitySaleDate CHECK (Quantity > 0 AND DATEDIFF (d,GETDATE(), SaleDate) <=0)

) ON [PRIMARY]

尝试执行上述查询会导致以下错误:

"Column CHECK constraint for column 'SaleDate' references another column, table 'SALES'."

有人可以赐教我吗?

1 个答案:

答案 0 :(得分:0)

这是因为您将约束设置为COLUMN约束。您必须将其设置为TABLE约束。所以,之后:

[SaleDate] [datetime] NOT NULL CONSTRAINT DF_SaleDate DEFAULT (GETDATE())

你需要一个逗号,所以它应该是:

[SaleDate] [datetime] NOT NULL CONSTRAINT DF_SaleDate DEFAULT (GETDATE()),
CONSTRAINT...