SQL calculation X + Y = Z

  • 本文关键字:calculation SQL sql
  • 更新时间 :
  • 英文 :


SQL新手,如果已经问过这个问题,我很抱歉。我希望创建一个包含3列X、Y和Z的表,在其中我将把X和Y值添加到表中。然后,我想创建一个存储过程,它将获取X和Y的行值,将它们相加,并将该值存储为表中的Z。我希望能够随时添加X和Y值,然后在计算Z之后运行存储过程。

CREATE TABLE XYZ 
(
X INT NOT NULL,
Y INT NOT NULL,
Z INT NULL
);
GO
INSERT INTO XYZ (X, Y) VALUES (3, 5);
INSERT INTO XYZ (X, Y) VALUES (5, 8);
INSERT INTO XYZ (X, Y) VALUES (8, 13);
CREATE PROCEDURE CalculateZ
AS
SELECT X, Y, Z = X + Y
INTO XYZ
FROM XYZ;
GO
EXECUTE CalculateZ;
GO
INSERT INTO XYZ (X, Y) VALUES (13, 21);
EXECUTE CalculateZ;
GO

没有必要这么做。相反,将z创建为计算列:

CREATE TABLE XYZ (
X INT NOT NULL,
Y INT NOT NULL,
Z AS (X + Y)
);

然后自动计算Z(当行中的数据发生变化或被查询时(。没有必要更新该表。也不需要存储过程。

请在存储过程中尝试此操作。您希望对原始表使用UPDATE,而不是INSERT

update XYZ
set z = x + y

最新更新