ALTER TABLE TBCONTROLE_N ALTER COLUMN VALOR_EXT TYPE VARCHAR(500)^

CREATE OR ALTER TRIGGER TTBPARAMETRO_B9U FOR TBPARAMETRO
ACTIVE BEFORE UPDATE POSITION 9
AS
DECLARE VARIABLE HISTORICO VARCHAR(8000);
BEGIN
    HISTORICO = '';
    
    IF (OLD.TABELA <> NEW.TABELA) THEN
    BEGIN
        HISTORICO = HISTORICO||' TABELA: '||OLD.TABELA||'->'||NEW.TABELA;
    END

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

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

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

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

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

    IF (HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBPARAMETRO',NEW.ID,FN_ELIPSES(:HISTORICO,490));
    END
END^