创建列以存储来自其他两个列的相乘值

Creating column to store multiplied values from two other columns

我是 SQL 的新手,使用此命令为列设置默认值时遇到问题。 问题是我必须获得产品的布鲁托价格。

ALTER TABLE produkt
ADD vat DECIMAL(5,2) DEFAULT 0.23;

ALTER TABLE produkt
ADD price_br INTEGER DEFAULT var*PRICE_NET;

“产品”是我的 Table PRICE_NET 是产品的净价。

尝试添加 price_br 列后,我收到 “此处不允许的列” 错误。 我想这很容易,但我真的想不通。

我认为您需要 computed 列,而不是默认值。那将是:

ALTER TABLE produkt ADD price_br INTEGER GENERATED ALWAYS AS (var*PRICE_NET);