Creating Conditional Rules for Column Values
Yes, you can create a table check constraint without going to triggers or stored procedures. This is valid for Sql Server 2008 or higher:

ALTER TABLE dbo.order_status_logs
   ADD 
   CONSTRAINT CHK_EXPECTED_BY   
   CHECK ((status_id &lt;&gt; 4 AND expected_by IS NOT NULL) OR status_id = 4);  
GO