Prezado(a)s,
Preciso montar um gatilho que controla o saldo do cliente de acordo com as operações de débito e crédito, no após efetuar o pagamento da compra. E não sei como fazer, por gentileza poderiam fornecer umas dicas de como proceder. Abaixo tem um código que tentei mas não está contemplando o todo da operação.
Obrigado
Cenário parcial:
1 - Cliente compra pacote de serviços ou um único serviço.(o gatilho somente controlará a compra de pacotes).
Tabelas envolvidas:
TB_CLIENTE
TB_SALDO
TB_PAGAMENTO
TB_MOVIMENTO
CREATE TABLE owner.tb_saldo( id_saldo INT(11) NOT NULL PRIMARY KEY, id_cliente INT(11) NOT NULL, quantidade NUMERIC(10,2) NOT NULL, dt_inclusao DATETIME, dt_atualização DATETIME, dt_exclusao DATETIME, CONSTRAINT fk_saldo_cliente FOREIGN KEY (id_cliente) REFERENCES(tb_cliente) ); CREATE TRIGGER trg_entrada_pacote_au AFTER UPDATE ON tb_pagamento FOR EACH ROW BEGIN DECLARE var_contador INT(11); begin SELECT COUNT(*) INTO var_contador FROM 2mjsolucoes_com.tb_saldo WHERE id_saldo = NEW.id_saldo; IF var_contador > 0 THEN UPDATE 2mjsolucoes_com.tb_saldo SET quantidade = quantidade + NEW.quantidade, dt_atualização = SYSDATE() WHERE id_saldo = NEW.id_saldo; END IF; end; end // DELIMITER ;