CREATE OR ALTER trigger ttbsobra_b1i for tbsobra
active before insert position 1
AS
Begin

end;

CREATE OR ALTER trigger ttbsobra_b2u for tbsobra
active before update position 1
AS
Begin

end;

ALTER TABLE TBSOBRA ADD OLD_PERFIL VARCHAR(10) DEFAULT '';
update TBSOBRA set OLD_PERFIL = PERFIL;
ALTER TABLE TBSOBRA DROP PERFIL;
ALTER TABLE TBSOBRA ADD PERFIL VARCHAR(10) DEFAULT '';
update TBSOBRA set PERFIL = OLD_PERFIL;
ALTER TABLE TBSOBRA DROP OLD_PERFIL;

CREATE OR ALTER trigger ttbsobra_b2u for tbsobra
active before update position 1
AS
Begin

  if ((NEW.PRODUTO_ID <> OLD.PRODUTO_ID) or (NEW.TAMANHO <> OLD.TAMANHO) or (NEW.PERFIL IS NULL) or (Trim(NEW.PERFIL) = '')) Then
      Begin
      NEW.PERFIL = Coalesce((Select First 1 M.Perfil From TbProduto P, TbModelo_Bloqueio M
                              Where P.Codigo    = New.Produto_ID
                                and M.Modelo_Id = P.Modelo_Codigo
                                and M.Cor_Id    = P.Cor_Codigo
                                and M.Tamanho   = New.Tamanho),'');
      END

End;

CREATE OR ALTER trigger ttbsobra_b1i for tbsobra
active before insert position 1
AS
Begin

  if ((Trim(NEW.PERFIL) = '') or (NEW.PERFIL IS NULL)) Then
      Begin
      NEW.PERFIL = Coalesce((Select First 1 M.Perfil From TbProduto P, TbModelo_Bloqueio M
                              Where P.Codigo    = New.Produto_ID
                                and M.Modelo_Id = P.Modelo_Codigo
                                and M.Cor_Id    = P.Cor_Codigo
                                and M.Tamanho   = New.Tamanho),'');
      END

End;

