CREATE OR ALTER TRIGGER TTBCLIENTE_SUBTIPO_B03D FOR TBCLIENTE_SUBTIPO
ACTIVE BEFORE DELETE POSITION 1
AS
declare variable pedido integer;
begin
   pedido = coalesce((select first 1 x.pedido from tbpedido x where x.CLIENTE_SUB_TIPO_ID = old.id),0);

   if(pedido > 0)then
   begin
     exception "..." 'TIPO DE PEDIDO JA UTILIZADO NOS PEDIDOS DE VENDAS, EXCLUSAO CANCELADA!';
   end

end;

CREATE OR ALTER TRIGGER TTBCLIENTE_SUBTIPO_B01D FOR TBCLIENTE_SUBTIPO
ACTIVE BEFORE DELETE POSITION 2
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);

BEGIN

   HISTORICO = ' SUBTIPO EXCLUIDO:'||OLD.id||' - '||OLD.descricao;

       INSERT INTO TBHISTORICO (
       TABELA, TABELA_ID, USUARIO, IP, HISTORICO) VALUES (
      'TBCLIENTE_TIPO', OLD.cliente_tipo_id,
      (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;
 
CREATE OR ALTER TRIGGER TTBCLIENTE_TIPO_B01D FOR TBCLIENTE_TIPO
ACTIVE BEFORE DELETE POSITION 2
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF ( OLD.codigo > 0) THEN
    BEGIN
        HISTORICO = HISTORICO||'Registro Excluido';
    END

    IF (HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBCLIENTE_TIPO',old.codigo, HISTORICO);
    END
end;

CREATE OR ALTER TRIGGER TTBCLIENTE_TIPO_B04D FOR TBCLIENTE_TIPO
ACTIVE BEFORE DELETE POSITION 1
AS
declare variable pedido integer;
begin
   pedido = coalesce((select first 1 x.pedido from tbpedido x where x.CLIENTE_TIPO_ID = old.CODIGO),0);

   if(pedido > 0)then
   begin
     exception "..." 'TIPO DE CLIENTE JA UTILIZADO NOS PEDIDOS DE VENDAS, EXCLUSAO CANCELADA!';
   end

end;
 