【问题标题】:Does SQL allows addition and subtractions in column?SQL是否允许在列中进行加法和减法?
【发布时间】:2020-11-17 12:46:02
【问题描述】:

假设,我想创建一个名为 payment 的表。之后,我想在其中创建三列。销售价格,成本价格,然后我想创建一个利润列,如利润 =(销售价格 - 成本价格)。有可能吗?如果怎么做?

创建表付款( sell_price NUMERIC, cost_price NUMERIC NOT NULL, 利润 = (sales_price - cost_price),/**** 我要创建的第三列利润

【问题讨论】:

标签: postgresql


【解决方案1】:

据我所知,你说的这个功能在旧版本的PostgreSQL中是不存在的。相反,您可以为您的表创建trigger

CREATE TABLE payment(
    selling_price NUMERIC,
    cost_price NUMERIC NOT NULL,
    profit numeric
);

CREATE OR REPLACE FUNCTION trg_function()
  RETURNS trigger AS
$body$
BEGIN
   NEW.profit := NEW.selling_price - NEW.cost_price;       
   RETURN NEW;
END
$body$
LANGUAGE plpgsql;;


CREATE TRIGGER payment_trg
BEFORE INSERT ON payment
FOR EACH ROW
EXECUTE PROCEDURE trg_function();


这里是fiddle。 原答案是here

【讨论】:

    猜你喜欢
    • 2011-07-27
    • 2019-11-06
    • 2011-10-15
    • 1970-01-01
    • 2019-12-21
    • 2020-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多