ALTER TABLE TBETIQUETAS
    ADD LIMITAR_CARACTERES VARCHAR(200) CHARACTER SET UTF8 COLLATE UTF8;

COMMENT ON COLUMN TBETIQUETAS.LIMITAR_CARACTERES IS
'VARIAVEL|POSICAO INICIAL|QTD.CARACTERES,...';

/**********************************************************************/

SET TERM ^ ;

CREATE OR ALTER trigger ttbetiquetas_b01u for tbetiquetas
active before update position 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(5000);
BEGIN

    HISTORICO = '';

    IF (OLD.DESCRICAO <> NEW.DESCRICAO) THEN
    BEGIN
        HISTORICO = HISTORICO||' DESC:'||OLD.DESCRICAO||'->'||NEW.DESCRICAO;
    END
    
    IF (OLD.TIPO <> NEW.TIPO) THEN
    BEGIN
        HISTORICO = HISTORICO||' TIPO:'||OLD.TIPO||'->'||NEW.TIPO;
    END
    
    IF (OLD.MULTIPLICADOR <> NEW.MULTIPLICADOR) THEN
    BEGIN
        HISTORICO = HISTORICO||' MULTI:'||OLD.MULTIPLICADOR||'->'||NEW.MULTIPLICADOR;
    END
    
    IF (OLD.LINGUAGEM <> NEW.LINGUAGEM) THEN
    BEGIN
        HISTORICO = HISTORICO||' LING:'||OLD.LINGUAGEM||'->'||NEW.LINGUAGEM;
    END
    
    IF (OLD.SCRIPT <> NEW.SCRIPT) THEN
    BEGIN
        HISTORICO = HISTORICO||' SCRIPT ALTERADO';
    END

    IF (OLD.LIMITAR_CARACTERES <> NEW.LIMITAR_CARACTERES) THEN
    BEGIN
        HISTORICO = HISTORICO||' LIMITADOR:'||OLD.LIMITAR_CARACTERES||'->'||NEW.LIMITAR_CARACTERES;
    END
    
    IF (HISTORICO <> '') THEN
    BEGIN
        HISTORICO = 'REGISTRO ALTERADO:'||HISTORICO;
        EXECUTE PROCEDURE SPI_HISTORICO('TBETIQUETAS', OLD.ID, FN_ELIPSES(HISTORICO, 500));
    END
END
^

SET TERM ; ^

