в таблице два столбца: billable (бит), billabledate (datetime). Я хочу, чтобы оплачиваемая дата была не нулевой, если billable не нулевой.
Добавить проверочное ограничение:
ПРОВЕРКА (оплачиваемое значение не равно NULL и billabledate не равно нулю) ИЛИ (оплачиваемое значение равно нулю)
Вам нужно проверить ограничение
ALTER TABLE dbo.Table WITH NOCHECK ADD CONSTRAINT CK_Table_BusinessRule ПРОВЕРКА (Billable НЕ НЕДЕЙСТВИТЕЛЕН, и BillableDate НЕТ НУЛЬ
http://msdn.microsoft.com/en-us/library/ms179491(SQL.90).aspx
Я бы попытался добавить триггер к таблице, после вставки и после обновления, чтобы применить это ограничение. Проверьте оплачиваемое значение и заблокируйте вставку / обновление, если оно не равно нулю, а расчетная дата равна нулю.