我正在使用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