Sql 创建列以存储其他两列的相乘值

Sql 创建列以存储其他两列的相乘值,sql,oracle,ddl,Sql,Oracle,Ddl,我是SQL新手,使用此命令设置列的默认值时遇到问题。 问题是,我必须让产品的价格合理 ALTER TABLE produkt ADD vat DECIMAL(5,2) DEFAULT 0.23; ALTER TABLE produkt ADD price_br INTEGER DEFAULT var*PRICE_NET; “produkt”是我的桌子 净价是产品的净价 尝试添加price\br列后,我得到“此处不允许列”错误。 我认为这是一项相当简单的任务,但我无法真正理解。我想您需要的是计

我是SQL新手,使用此命令设置列的默认值时遇到问题。 问题是,我必须让产品的价格合理

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

ALTER TABLE produkt
ADD price_br INTEGER DEFAULT var*PRICE_NET;
“produkt”是我的桌子 净价是产品的净价

尝试添加price\br列后,我得到“此处不允许列”错误。 我认为这是一项相当简单的任务,但我无法真正理解。

我想您需要的是计算列,而不是默认值。这将是:

ALTER TABLE produkt ADD price_br INTEGER GENERATED ALWAYS AS (var*PRICE_NET);
我认为您需要的是计算列,而不是默认值。这将是:

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

伟大的非常感谢你帮助我。@Filgum0326。如果这回答了你的问题,你可以接受答案。太好了!非常感谢你帮助我。@Filgum0326。如果这回答了你的问题,你可以接受答案。