CREATE TRIGGER TTBCIDADE_B02I FOR TBCIDADE
ACTIVE BEFORE INSERT POSITION 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF (NEW.ID > 0) THEN
    BEGIN
        HISTORICO = HISTORICO||'Cidade incluida';
    END

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

CREATE TRIGGER TTBCIDADE_B02U FOR TBCIDADE
ACTIVE BEFORE UPDATE POSITION 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

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

    IF (OLD.CODIGOIBGE <> NEW.CODIGOIBGE) THEN
    BEGIN
         HISTORICO = HISTORICO||', Cod. IBGE: '||OLD.CODIGOIBGE||' ->'||NEW.CODIGOIBGE;
    END

    IF (OLD.STATUS <> NEW.STATUS) THEN
    BEGIN
        IF(NEW.STATUS = '1') THEN
        BEGIN
              HISTORICO = HISTORICO||', Status Ativo ';
        END

        IF(NEW.STATUS = '0') THEN
        BEGIN
              HISTORICO = HISTORICO||', Status Inativo ';
        END
    END

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

    IF (OLD.PAIS_CODIGO <> NEW.PAIS_CODIGO) THEN
    BEGIN
        HISTORICO = HISTORICO||', Cod. Pais: '||OLD.PAIS_CODIGO||' ->'||NEW.PAIS_CODIGO;
    END

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

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

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

END;

CREATE TRIGGER TTBCIDADE_B02D FOR TBCIDADE
ACTIVE BEFORE DELETE POSITION 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF (OLD.ID > 0) THEN
    BEGIN
        HISTORICO = HISTORICO||'Cidade excluida';
    END

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



