SET TERM ^ ;

CREATE OR ALTER trigger ttbcor_b0d_01 for tbcor
active before delete position 0
AS
DECLARE VARIABLE p1  Integer; DECLARE VARIABLE p2  Integer;
DECLARE VARIABLE p3  Integer; DECLARE VARIABLE p4  Integer;
DECLARE VARIABLE p5  Integer; DECLARE VARIABLE p6  Integer;
DECLARE VARIABLE p7  Integer; DECLARE VARIABLE p8  Integer;
DECLARE VARIABLE p9  Integer; DECLARE VARIABLE tem_kit Integer;
Begin

For Select
(Select First 1 A.Codigo From TbProduto A Where A.Cor_Codigo = OLD.CODIGO) ,
(Select First 1 A.Modelo_Id From TBMODELO_COR A Where A.Cor_Id = OLD.CODIGO),
(Select First 1 A.ID From TBMODELO_KIT A Where A.Cor_Id = OLD.CODIGO)

FROM RDB$DATABASE
Into :p1,:p2,:tem_kit
Do
begin

  if (:P1 > 0) Then Exception "..." 'Atenção, cor já vinculada em cadastro de produto! Id.'||:P1||' . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ';
  if (:P2 > 0) Then Exception "..." 'Atenção, cor já vinculada em cadsatro de modelo! Id.'||:P2||' . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ';
  if (:tem_kit > 0) THEN
  BEGIN
    EXCEPTION "..." 'Atenção, cor está vinculada a um Kit! Exclusão não permitida.';
  END
end

End
^

SET TERM ; ^

