Preciso de ajuda para adicionar um campo em que o valor total fosse somado

Boa noite , preciso de uma ajuda neste código ( como faço para que em saida de produto contenha um valor total quando eu seleciono quantidade e valor unitario )
Exemplo joão comprou 3 canetas ( quantidade ) com valor unitário ( r$ 30,00 cada ) e no final teria que ter um campo total com os valores somados resultando em 90 reais
(RESUMINDO PRECISO QUE CALCULE O VALOR QUANTIDADE E VALOR UNITÁRIO E APAREÇA NO CAMPO TOTAL ( QUE AINDA NÃO EXISTE ) O RESULTADO COM FAZER ISSO CRIANDO OUTRA trigger

PRODUTO
ENTRADA_PRODUTO
ESTOQUE
SAIDA_PRODUTO

CREATE TABLE produto (
id INT(11) NOT NULL AUTO_INCREMENT,
status CHAR(1) NOT NULL DEFAULT ‘A’,
descricao VARCHAR(50) NULL DEFAULT NULL,
estoque_minimo INT(11) NULL DEFAULT NULL,
estoque_maximo INT(11) NULL DEFAULT NULL,
PRIMARY KEY (id))

CREATE TABLE entrada_produto (
id INT(11) NOT NULL AUTO_INCREMENT,
id_produto INT(11) NULL DEFAULT NULL,
qtde INT(11) NULL DEFAULT NULL,
valor_unitario DECIMAL(9,2) NULL DEFAULT ‘0.00’,
data_entrada DATE NULL DEFAULT NULL,
PRIMARY KEY (id))

CREATE TABLE estoque (
id INT(11) NOT NULL AUTO_INCREMENT,
id_produto INT(11) NULL DEFAULT NULL,
qtde INT(11) NULL DEFAULT NULL,
valor_unitario DECIMAL(9,2) NULL DEFAULT ‘0.00’,
PRIMARY KEY (id))

CREATE TABLE saida_produto (
id INT(11) NOT NULL AUTO_INCREMENT,
id_produto INT(11) NULL DEFAULT NULL,
qtde INT(11) NULL DEFAULT NULL,
data_saida DATE NULL DEFAULT NULL,
valor_unitario DECIMAL(9,2) NULL DEFAULT ‘0.00’,
PRIMARY KEY (id))

DELIMITER //
CREATE PROCEDURE SP_AtualizaEstoque( id_prod int, qtde_comprada int, valor_unit decimal(9,2))
BEGIN
declare contador int(11);

SELECT count(*) into contador FROM estoque WHERE id_produto = id_prod;

IF contador > 0 THEN
    UPDATE estoque SET qtde=qtde + qtde_comprada, valor_unitario= valor_unit
    WHERE id_produto = id_prod;
ELSE
    INSERT INTO estoque (id_produto, qtde, valor_unitario) values (id_prod, qtde_comprada, valor_unit);
END IF;

END //
DELIMITER ;

DELIMITER //
CREATE TRIGGER TRG_EntradaProduto_AI AFTER INSERT ON entrada_produto
FOR EACH ROW
BEGIN
CALL SP_AtualizaEstoque (new.id_produto, new.qtde, new.valor_unitario);
END //
DELIMITER ;

DELIMITER //
CREATE TRIGGER TRG_EntradaProduto_AU AFTER UPDATE ON entrada_produto
FOR EACH ROW
BEGIN
CALL SP_AtualizaEstoque (new.id_produto, new.qtde - old.qtde, new.valor_unitario);
END //
DELIMITER ;

DELIMITER //
CREATE TRIGGER TRG_EntradaProduto_AD AFTER DELETE ON entrada_produto
FOR EACH ROW
BEGIN
CALL SP_AtualizaEstoque (old.id_produto, old.qtde * -1, old.valor_unitario);
END //
DELIMITER ;

DELIMITER //
CREATE TRIGGER TRG_SaidaProduto_AI AFTER INSERT ON saida_produto
FOR EACH ROW
BEGIN
CALL SP_AtualizaEstoque (new.id_produto, new.qtde * -1, new.valor_unitario);
END //
DELIMITER ;

DELIMITER //
CREATE TRIGGER TRG_SaidaProduto_AU AFTER UPDATE ON saida_produto
FOR EACH ROW
BEGIN
CALL SP_AtualizaEstoque (new.id_produto, old.qtde - new.qtde, new.valor_unitario);
END //
DELIMITER ;

DELIMITER //
CREATE TRIGGER TRG_SaidaProduto_AD AFTER DELETE ON saida_produto
FOR EACH ROW
BEGIN
CALL SP_AtualizaEstoque (old.id_produto, old.qtde, old.valor_unitario);
END //
DELIMITER ;