在某些条件下防止null

kei*_*en7 2 sql sql-server sql-server-2008

是否可以对表的插入或更新表示条件验证(SQL Server 2008 R2),如果列B等于12,13或14,则表示列A不能为空.

Mic*_*son 7

您可以使用表级CHECK约束来实现它:

ALTER TABLE YourTable 
ADD CONSTRAINT CK_YourCheck 
CHECK(ColumnA IS NOT NULL OR ColumnB NOT IN (12, 13, 14))
Run Code Online (Sandbox Code Playgroud)