找不到解决方案来触发填充通过和成功率行
CREATE TABLE en_testes_automatizados (
dia DATE NOT NULL,
id_projeto integer NOT NULL REFERENCES jira3.en_projeto (id_projeto),
total integer NOT NULL,
pass integer,
fail integer,
success_rate DOUBLE PRECISION,
result_link character);
我需要在表达式的行中填充表达式(total-pass)和成功率((pass / total)x100)
答案 0 :(得分:0)
似乎只是为了自动更新一列而已,但您首先需要创建一个函数,使触发器将使用类似这样的操作来设置该列的值
CREATE OR REPLACE FUNCTION en_testes_automatizados_success_rate()
RETURNS TRIGGER AS
$$
BEGIN
NEW.success_rate := (pass / (pass + fail)) * 100;
RETURN NEW;
END
$$
LANGUAGE PLPGSQL;
然后为该表创建一个触发器
CREATE TRIGGER ON en_testes_automatizados
BEFORE INSERT FOR EACH ROW
EXECUTE PROCEDURE en_testes_automatizados_success_rate();