ALTER TABLE TBCOR
	ADD AMOSTRA_IMAGEM BLOB SUB_TYPE 1 SEGMENT SIZE 80;

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

SET TERM ^ ;

CREATE OR ALTER trigger ttbcor_b9u for tbcor
active before update position 9
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.DESCRICAO_COMERCIAL <> NEW.DESCRICAO_COMERCIAL) then
       BEGIN
       HISTORICO = HISTORICO||' Desc.Com.'||OLD.DESCRICAO_COMERCIAL||'->'||NEW.DESCRICAO_COMERCIAL;
       END

   if (OLD.tonalidade <> NEW.tonalidade) then
       BEGIN
       HISTORICO = HISTORICO||' Ton.:'||OLD.tonalidade||'->'||NEW.tonalidade;
       END
   if (OLD.ton_fornecedor <> NEW.ton_fornecedor) then
       BEGIN
       HISTORICO = HISTORICO||' Ton.Forn.'||OLD.ton_fornecedor||'->'||NEW.ton_fornecedor;
       END
   if (OLD.abreviado <> NEW.abreviado) then
       BEGIN
       HISTORICO = HISTORICO||' Desc.Abv.'||OLD.abreviado||'->'||NEW.abreviado;
       END
   if (OLD.classe||Old.subclasse <> NEW.classe||New.subclasse) then
       BEGIN
       HISTORICO = HISTORICO||' Class/Sub.'||OLD.classe||'.'||Old.subclasse||'->'||NEW.classe||'.'||NEW.subclasse;
       END
   if (OLD.perfil <> NEW.perfil) then
       BEGIN
       HISTORICO = HISTORICO||' Perf.'||OLD.perfil||'->'||NEW.perfil;
       END
   if (OLD.Pantone <> NEW.Pantone) then
       BEGIN
       HISTORICO = HISTORICO||' Pantone '||OLD.Pantone||'->'||NEW.Pantone;
       END
   if (OLD.observacao <> NEW.observacao) then
       BEGIN
       HISTORICO = HISTORICO||' Obs.'||OLD.observacao||'->'||NEW.observacao;
       END
   if (OLD.amostra <> NEW.amostra) then
       BEGIN
       HISTORICO = HISTORICO||' Amostra:'||OLD.amostra||'->'||NEW.amostra;
       END
   if (OLD.amostra_imagem <> NEW.amostra_imagem) then
       BEGIN
       HISTORICO = HISTORICO||' Img. Amostra: Imagem de Amostra Alterada';
       END
   if (OLD.qtd_cores <> NEW.qtd_cores) then
       BEGIN
       HISTORICO = HISTORICO||' Qtd.Cores:'||OLD.qtd_cores||'->'||NEW.qtd_cores;
       END
   if (OLD.TEMPO_SETUP <> NEW.TEMPO_SETUP) then
       BEGIN
       HISTORICO = HISTORICO||' Tmp.Set.'||OLD.TEMPO_SETUP||'->'||NEW.TEMPO_SETUP;
       END
   if (OLD.TEMPO_SETUP_APROVACAO <> NEW.TEMPO_SETUP_APROVACAO) then
       BEGIN
       HISTORICO = HISTORICO||' Tmp.Set.Aprv.'||OLD.TEMPO_SETUP_APROVACAO||'->'||NEW.TEMPO_SETUP_APROVACAO;
       END
   
   if (OLD.NIVEL_CONTAMINACAO <> NEW.NIVEL_CONTAMINACAO) then
       BEGIN
       HISTORICO = HISTORICO||' Niv.Contam.'||OLD.NIVEL_CONTAMINACAO||'->'||NEW.NIVEL_CONTAMINACAO;
       END

   if (OLD.STATUS <> NEW.STATUS) then
       BEGIN
       HISTORICO = HISTORICO||' Status'||OLD.STATUS||'->'||NEW.STATUS;
       END

   if (HISTORICO <> '') Then
       Begin
       INSERT INTO TBHISTORICO (
       TABELA, TABELA_ID, USUARIO, IP, HISTORICO) VALUES (
      'TBCOR', OLD.CODIGO,
      (Select First 1 MON$USER from mon$attachments where mon$attachment_id = current_connection),
      (Select First 1 MON$REMOTE_ADDRESS from mon$attachments where mon$attachment_id = current_connection),
       :Historico);
       End
end
^

SET TERM ; ^

