我正在使用SQL Server 2008 Management Studio。以下是我必须写的内容,对于第二个约束我有一些困难。这有点让我困惑,我会很感激一些帮助。SQL Server条件CHECK约束条件
编写一个ALTER TABLE语句,将两个新的检查约束添加到AP数据库的Invoices表中。第一个应该允许(1)仅当PaymentTotal为零时PaymentDate为null,并且(2)仅当PaymentTotal大于零时PaymentDate不为null。第二个约束应该防止PaymentTotal和CreditTotal的总和大于InvoiceTotal。
这是我到目前为止,第一个约束起作用但不是第二个(PaymentTotal和CreditTotal的总和大于InvoiceTotal)。
ALTER TABLE Invoices WITH CHECK
ADD check (
(PaymentTotal = 0 AND PaymentDate is NULL)
OR
(PaymentTotal > 0 AND PaymentDate is NOT NULL)
)
ADD CHECK (
(PaymentTotal < InvoiceTotal = SUM)
OR
(CreditTotal < InvoiceTotal = SUM)
)
预先感谢您。
功课的问题吗? – Seph
第一个改变告诉你必须发生什么 – xQbert