при добавлении новой строки
BEFORE DELETE
Не находите ничего странного?
Впрочем мой хрустальный шар показывает, что вам нужен вовсе
CREATE TABLE big_bank(
id SERIAL NOT NULL PRIMARY KEY,
fio TEXT NOT NULL,
percent numeric DEFAULT 0,
score NUMERIC DEFAULT 0,
total NUMERIC GENERATED ALWAYS AS (percent * score) STORED
);
Ну или до postgresql 12 эмулировать да, триггером, но вот так:
CREATE OR REPLACE FUNCTION autocuontfunc() RETURNS TRIGGER AS $big_bank$
BEGIN
NEW.total = NEW.percent * NEW.score;
RETURN NEW;
END;
$big_bank$ LANGUAGE plpgsql;
CREATE TRIGGER auto_cuont BEFORE INSERT OR UPDATE ON big_bank FOR EACH ROW EXECUTE PROCEDURE autocuontfunc();