CREATE TABLE TAB_CALCULO (
PROATIVIDADE FLOAT NOT NULL,
QUANTIDADE_DEPOSITO FLOAT NULL,
QUANTIDADE_CESTAS FLOAT NULL,
QUANTIDADE_AGUA VARCHAR (20) NULL);
CREATE TABLE DOACOES(
PROATIVIDADE FLOAT NOT NULL,
DEPOSITO FLOAT NULL,
CESTAS FLOAT NULL,
AGUA VARCHAR (20) NULL);
SELECT * FROM TAB_CALCULO;
SELECT C.PROATIVIDADE, C.QUANTIDADE_CESTAS, C.QUANTIDADE_DEPOSITO, C.QUANTIDADE_AGUA FROM TAB_CALCULO C;
SELECT D.PROATIVIDADE, D.CESTAS, D.DEPOSITO, D.AGUA FROM DOACOES D;
INSERT INTO TAB_CALCULO (PROATIVIDADE, QUANTIDADE_DEPOSITO, QUANTIDADE_CESTAS, QUANTIDADE_AGUA)
SELECT
SUM(D.PROATIVIDADE) AS PROATIVIDADE,
SUM(D.CESTAS) AS CESTAS,
SUM(D.DEPOSITO) AS DEPOSITO,
SUM(CONVERT(REPLACE(D.AGUA,"L",""),DECIMAL(20)))
FROM DOACOES D;
/* CRIANDO TRIGGER */
DELIMITER $$
CREATE TRIGGER TG_CALCULA_DOACOES_INSERT AFTER INSERT ON TAB_CALCULO
FOR EACH ROW BEGIN
DELETE FROM TAB_CALCULO;
INSERT INTO TAB_CALCULO (PROATIVIDADE, QUANTIDADE_DEPOSITO, QUANTIDADE_CESTAS, QUANTIDADE_AGUA)
SELECT
SUM(D.PROATIVIDADE) AS PROATIVIDADE,
SUM(D.DEPOSITO) AS QUANTIDADE_DEPOSITO,
SUM(D.CESTAS) AS QUANTIDADE_CESTAS,
SUM(CONVERT(REPLACE(D.AGUA,"L",""),DECIMAL(20)))
FROM DOACOES D;
END $$
SELECT DISTINCT * FROM tab_calculo;
INSERT INTO DOACOES (PROATIVIDADE, CESTAS, DEPOSITO, AGUA)
VALUES
(99.9,1500, 400,10000);
INSERT INTO DOACOES (PROATIVIDADE, CESTAS, DEPOSITO, AGUA)
VALUES
(86.3,1900, 9200, 2800);
trouxe dados de uma tabela(doacoes)para outra tab_calculo para fazer o calculo de todas as doações, porém a trigger não atualiza à cada soma na tab