UPDATE语句,使用特定值更新任何字段

时间:2018-08-29 14:40:53

标签: sql ms-access

我刚刚学习了如何在SQL中创建更新语句,我认为这可能对我遇到的另一个问题很有用。

我需要将任何值为999的列设置为星号。我有一个由测功机自动填充的访问数据库。有几个字段可能具有很高的价值(114以上)。

从我收集到的信息中,我可以明确说明每个潜在字段,后跟一个where条件:

SET field1 = "*", field2 = "*", .. field114 = "*" WHERE field1 = 999.. etc

是否有一种简单的方式说明所有字段?不应有一个结果为999的测试,这也不是一个可以忽略的错误。

1 个答案:

答案 0 :(得分:1)

与具有114个字段一样,平等地处理许多字段是非标准化数据库设计的明确指示。这可能是您的根本问题,而修复该问题将使更新操作变得更加容易。

在更新查询中,您需要指定每个字段。您可以使用以下构造将999的字段更新为*,但这是一种不好的做法,因为即使没有字段的值为999,它也会触及行

UPDATE MyTable
SET
Field1 = IIF(Field1 = "999", "*", Field1),
Field2 = IIF(Field2 = "999", "*", Field2),
etc