You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL中如何新增第三列并存储前两列的求和结果?

根本原因

SELECT 属于只读查询语句,仅返回计算后的临时结果集,不会修改源表的结构或存储的持久化数据,因此关闭SSMS后临时计算结果会直接消失,不会写入原表。

方案1:添加永久自动计算列(推荐)

如果需要col3永久存在于原表,且col1/col2更新时col3自动同步计算结果,可直接为表添加持久化计算列,执行以下命令:

ALTER TABLE table_name
ADD col3 AS (col1 + col2) PERSISTED;

补充说明:

  • 加PERSISTED关键字会将计算结果物理存储到表中,查询时不需要重复计算,性能更高。如果不加的话计算列仅在查询时实时计算,不占用额外存储空间。
  • 后续所有对col1、col2的增改操作,col3都会自动更新,无需手动维护。

方案2:批量写入已有空列

如果你的表已经提前创建了col3字段,仅需要批量计算并填充该列的现有数据,执行UPDATE语句即可:

UPDATE table_name
SET col3 = col1 + col2;

执行后计算结果会直接写入现有col3列,持久化存储。

方案3:将计算结果保存为独立新表

如果不需要修改原表,只想把包含col3的完整查询结果存为新的物理表,使用SELECT ... INTO语法:

SELECT col1, col2, col1+col2 AS col3 
INTO new_table_name
FROM table_name;

执行后会自动生成名为new_table_name的新表,存储三列的全量数据。

内容的提问来源于stack exchange,提问作者Maggie H

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 00:24:04