CREATE trigger ttbregiao_cidade_b02i for tbregiao_cidade
active before insert position 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF ( NEW.REGIAO_ID > 0 AND NEW.ID > 0 ) THEN
    BEGIN
        HISTORICO = HISTORICO||' LOCAL INCLUIDO: CIDADE:'||NEW.CIDADE||' - '||NEW.UF||', BAIRRO: '||NEW.BAIRRO;
    END

    IF (HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBREGIAO',NEW.REGIAO_ID, HISTORICO);
    END
END;


CREATE OR ALTER trigger ttbregiao_cidade_b01d for tbregiao_cidade
active before delete position 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF ( OLD.REGIAO_ID > 0 AND OLD.ID > 0 ) THEN
    BEGIN
        HISTORICO = HISTORICO||' LOCAL EXCLUIDO: CIDADE:'||OLD.CIDADE||' - '||OLD.UF||', BAIRRO: '||OLD.BAIRRO;
    END

    IF (HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBREGIAO',OLD.REGIAO_ID, HISTORICO);
    END
END;


CREATE OR ALTER trigger ttbregiao_cidade_b01u for tbregiao_cidade
active before update position 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF (OLD.CIDADE <> NEW.CIDADE) THEN
    BEGIN
        HISTORICO = HISTORICO||' CIDADE:'||OLD.CIDADE||'->'||NEW.CIDADE;
    END

    IF (OLD.BAIRRO <> NEW.BAIRRO) THEN
    BEGIN
        HISTORICO = HISTORICO||' BAIRRO:'||OLD.BAIRRO||'->'||NEW.BAIRRO;
    END

    IF(OLD.UF <> NEW.UF) THEN
    BEGIN
        HISTORICO = HISTORICO||' UF:'||OLD.UF||'->'||NEW.UF;
    END

    IF (HISTORICO <> '') THEN
    BEGIN

        HISTORICO = ' LOCAL: CIDADE:'||OLD.CIDADE||' - '||OLD.UF||', BAIRRO: '||OLD.BAIRRO||' ALTERADO: '||HISTORICO;


        EXECUTE PROCEDURE SPI_HISTORICO('TBREGIAO', NEW.REGIAO_ID, HISTORICO);
    END

END;


