INSERT INTO TBMENU (DESCRICAO, CONTROLE, GRUPO, SUBGRUPO, TIPO, URL)
            VALUES ('CADASTRO DE ESCOLARIDADE', 23050, 'RH', 'RH', '1   ', '');

ALTER TABLE TBESCOLARIDADE
    ADD STATUS INTEGER;
	
update TBESCOLARIDADE set status = 1;
	
CREATE trigger tTBESCOLARIDADE_b01i for TBESCOLARIDADE
active before insert position 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

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

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

CREATE trigger tTBESCOLARIDADE_b01u for TBESCOLARIDADE
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.status <> NEW.status) THEN
    BEGIN
        HISTORICO = HISTORICO||'Status:'|| OLD.status||'->'||NEW.status;
    END
	
	IF ( OLD.STATUSEXCLUSAO <> NEW.STATUSEXCLUSAO and new.STATUSEXCLUSAO = 0) THEN
    BEGIN
        HISTORICO = 'Registro Excluido';
    END
	
	IF ( OLD.STATUSEXCLUSAO <> NEW.STATUSEXCLUSAO and new.STATUSEXCLUSAO = 1) THEN
    BEGIN
        HISTORICO = 'Exclusão desfeita';
    END
    
    IF (HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBESCOLARIDADE',NEW.id, HISTORICO);
    END
end;

CREATE OR ALTER trigger tTBESCOLARIDADE_b01d for TBESCOLARIDADE
active before delete position 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

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

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

CREATE OR ALTER trigger ttbescolaridade_b1u for tbescolaridade
inactive before update position 1
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

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

    IF (HISTORICO <> '') THEN
    BEGIN
       INSERT INTO TBHISTORICO (
       TABELA, TABELA_ID, USUARIO, IP, HISTORICO) VALUES (
       'TBESCOLARIDADE', OLD.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
END;

CREATE OR ALTER trigger ttbescolaridade_b0u for tbescolaridade
active before update position 0
AS
/**************************************************
   ATUALIZA OS CAMPOS DATAHORA UPDATE E DELETE E
   REGISTRA HISTORICO DE EXCLUSAO/RECUPERACAO
**************************************************/
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    /* UPDATE */
    IF ( NEW.STATUSEXCLUSAO = '0' AND OLD.STATUSEXCLUSAO = '0' ) THEN
    BEGIN
        NEW.DATAHORA_UPDATE = CURRENT_TIMESTAMP;
    END
    /* DELETE */
    ELSE IF ( NEW.STATUSEXCLUSAO = '1' AND OLD.STATUSEXCLUSAO = '0' ) THEN
    BEGIN
        NEW.DATAHORA_DELETE = CURRENT_TIMESTAMP;
        HISTORICO = 'REG. EXCLUIDO.';
    END

END;



