适用于:SQL Server
可以使用更新查询在一次操作中更改多行的内容。 例如,在 titles
表中,可以使用更新查询将 10% 添加到特定出版商的所有书籍的价格。
创建更新查询时,请指定:
要更新的表。
要更新其内容的列。
用于更新各个列的值或表达式。
用于定义要更新的行的搜索条件。
例如,以下查询通过将一个出版商出版的所有书籍都加价 10% 来更新 titles
表:
UPDATE titles
SET price = price * 1.1
WHERE (pub_id = '0766')
谨慎
无法撤消执行更新查询的操作。 作为预防措施,在执行查询之前备份数据。
创建“更新”查询
将要更新的表添加到“关系图”窗格。
从 查询设计器 菜单指向 更改类型,然后单击 更新。
备注
如果在启动更新查询时“关系图”窗格中显示多个表,则查询和视图设计器将显示“插入值选择目标表”对话框,提示输入要更新的表的名称。
在“图表窗格”中,单击每个要提供新值的列的复选框。 这些列将显示在“条件”窗格中。 列只有在添加到查询后才能更新。
在“条件”窗格的 “新建值” 列中,输入列的更新值。 可以输入文本值、列名或表达式。 该值必须与要更新的列的数据类型匹配(或兼容)。
谨慎
查询和视图设计器无法检查值是否适合要更新的列的长度。 如果提供的值太长,则可能会截断该值而不发出警告。 例如,如果
name
列长 20 个字符,但指定更新值 25 个字符,则可能截断最后 5 个字符。通过在 筛选器 列中输入搜索条件来定义要更新的行。 有关详细信息,请参阅 指定搜索条件(Visual Database Tools)。
如果未指定搜索条件,将更新指定表中的所有行。
注意
将列添加到“条件”窗格以用于搜索条件时,查询和视图设计器还会将其添加到要更新的列列表中。 如果您希望使用某列作为搜索条件,但不想更新该列,请在表示表或表值对象的矩形中,清除该列名旁边的复选框。
在执行“更新”查询时,不会在“结果”窗格中报告任何结果。 而是显示一条消息,指示更改了多少行。
另请参阅
支持的查询类型(Visual Database Tools)
设计查询和视图操作指南主题 (Visual Database Tools)
执行基本的查询操作 (Visual Database Tools)