CREATE SEQUENCE GTBTIPO_EXAME;

SET GENERATOR GTBTIPO_EXAME TO 6;

CREATE OR ALTER TRIGGER TTBTIPO_EXAME_B02I FOR TBTIPO_EXAME
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
  IF (NEW.CODIGO IS NULL) THEN
    NEW.CODIGO = GEN_ID(GTBTIPO_EXAME,1);
END;

CREATE OR ALTER TRIGGER TTBTIPO_EXAME_B01I FOR TBTIPO_EXAME
ACTIVE BEFORE INSERT POSITION 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF ( NEW.CODIGO > 0) THEN
    BEGIN
        HISTORICO = HISTORICO||'Registro Incluido';
    END

    IF (HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBTIPO_EXAME',NEW.CODIGO, HISTORICO);
    END
end;

CREATE TRIGGER TTBTIPO_EXAME_B01U FOR TBTIPO_EXAME
ACTIVE BEFORE UPDATE POSITION 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF ( OLD.DESCRICAO <> NEW.DESCRICAO) THEN
    BEGIN
        HISTORICO = HISTORICO||'Descricao:'|| OLD.DESCRICAO||'->'||NEW.DESCRICAO;
    END

    IF ( OLD.VENCIMENTO_TP1 <> NEW.VENCIMENTO_TP1) THEN
    BEGIN
        HISTORICO = HISTORICO||',Dias Vencto.1:'|| OLD.VENCIMENTO_TP1||'->'||NEW.VENCIMENTO_TP1;
    END

    IF ( OLD.VENCIMENTO_TP2 <> NEW.VENCIMENTO_TP2) THEN
    BEGIN
        HISTORICO = HISTORICO||',Dias Vencto.2:'|| OLD.VENCIMENTO_TP2||'->'||NEW.VENCIMENTO_TP2;
    END

    IF ( OLD.VENCIMENTO_TP3 <> NEW.VENCIMENTO_TP3) THEN
    BEGIN
        HISTORICO = HISTORICO||',Dias Vencto.3:'|| OLD.VENCIMENTO_TP3||'->'||NEW.VENCIMENTO_TP3;
    END

    IF (HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBTIPO_EXAME',NEW.CODIGO, HISTORICO);
    END
end;

CREATE OR ALTER TRIGGER TTBTIPO_EXAME_B01D FOR TBTIPO_EXAME
ACTIVE BEFORE DELETE POSITION 0
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('TBTIPO_EXAME',old.CODIGO, HISTORICO);
    END
end;





