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

    HISTORICO = '';

    IF ( OLD.DESCRICAO <> NEW.DESCRICAO) THEN
    BEGIN
        HISTORICO = HISTORICO||'DESC:'|| OLD.DESCRICAO||'->'||NEW.DESCRICAO;
    END
    
    IF ( OLD.CBO <> NEW.CBO) THEN
    BEGIN
        HISTORICO = HISTORICO||' CBO:'|| OLD.CBO||'->'||NEW.CBO;
    END
    
    IF ( OLD.DESCRICAO_ABREVIADA <> NEW.DESCRICAO_ABREVIADA) THEN
    BEGIN
        HISTORICO = HISTORICO||'ABREV:'|| OLD.DESCRICAO_ABREVIADA||'->'||NEW.DESCRICAO_ABREVIADA;
    END
    
    IF ( OLD.ESCOLARIDADE_ID <> NEW.ESCOLARIDADE_ID) THEN
    BEGIN
        HISTORICO = HISTORICO||'ESCOLARIDADE:'|| OLD.ESCOLARIDADE_ID||'->'||NEW.ESCOLARIDADE_ID;
    END    
    
    IF ( OLD.STATUS <> NEW.STATUS) THEN
    BEGIN
        HISTORICO = HISTORICO||'STATUS:'|| OLD.STATUS||'->'||NEW.STATUS;
    END

    IF ( OLD.NR7 <> NEW.NR7) THEN
    BEGIN
        HISTORICO = HISTORICO||'NR-7:'||OLD.NR7||'->'||NEW.NR7;
    END    
    
    IF (HISTORICO <> '') THEN
    BEGIN
		HISTORICO = ' REGISTRO ALTERADO: '||HISTORICO;
        EXECUTE PROCEDURE SPI_HISTORICO('TBCARGO',NEW.CODIGO, HISTORICO);
    END
END;
