更新另一列时,检查某列是否包含特定值

时间:2013-10-15 16:20:43

标签: sql constraints check-constraint

在更新表行中另一列中的值之前,找到一种简单的方法来检查列是否包含某个值,我遇到了一些麻烦。例如,如果我有如下表所示的StudentParticipationInClass表

    |  ID  |  Grade  |  State  |
    |  1   |   'U'   |'OnGoing'|
    |  2   |   '3'   | 'Done'  |

我想要一个约束来告诉用户能够将状态更新为Done,Grade必须是“U”或NULL之外的其他内容。

1 个答案:

答案 0 :(得分:0)

此查询可能会对您有所帮助:

UPDATE StudentsParticipationInClass
SET State = 'Done'
WHERE Grade <> 'U'
AND WHERE Grade IS NOT NULL
AND WHERE ID = 1