/******************************************************************************/
ALTER TABLE REFERENCIAS
ADD MINERADO DM_LOGICO;

CREATE INDEX IDX_MINERADO
ON REFERENCIAS (MINERADO);

CREATE OR ALTER TRIGGER REFERENCIAS_MINERADO_BU FOR REFERENCIAS
ACTIVE BEFORE UPDATE POSITION 0
AS
BEGIN
    IF (NEW.MINERADO = OLD.MINERADO) THEN
        NEW.MINERADO = 'F';
END

/******************************************************************************/
ALTER TABLE SETORES
ADD MINERADO DM_LOGICO;

CREATE INDEX IDX_MINERADO_SETORES
ON SETORES (MINERADO);

CREATE OR ALTER TRIGGER SETORES_MINERADO_BU FOR SETORES
ACTIVE BEFORE UPDATE POSITION 0
AS
BEGIN
    IF (NEW.MINERADO = OLD.MINERADO) THEN
        NEW.MINERADO = 'F';
END;

/******************************************************************************/
CREATE OR ALTER TRIGGER VEICULOS_MINERADO_BU FOR VEICULOS_FATORCALIBRAGEM
ACTIVE BEFORE UPDATE POSITION 0
AS
BEGIN
  UPDATE VEICULOS V SET V.MINERADO = 'F' WHERE V.CODIGO = NEW.CODIGOVEICULO;
END;
/******************************************************************************/
------------------------------------------------------------------
--
-- Versao: 1.1.0.0
--
------------------------------------------------------------------
CREATE TABLE MINERADO_APPFISCOL (
    CODIGO DM_CODIGOINTEIRO,
    CODIGO_SESSAO DM_INTEIRO
);

CREATE SEQUENCE GEN_MINERADO_APPFISCOL;

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

CREATE OR ALTER TRIGGER MIENRADO_APPFISCOL FOR FISCOLAPP_SESSOES
ACTIVE AFTER INSERT OR UPDATE POSITION 0
AS
BEGIN
    INSERT INTO MINERADO_APPFISCOL(CODIGO_SESSAO) VALUES (NEW.CODIGO);
END;


-----------------------------------
--
-- Versao 1.6.0.0
--
-----------------------------------
SET TERM ^ ;

CREATE OR ALTER TRIGGER SETORES_AREAS_COORDENADAS_MI0 FOR SETORES_AREAS_COORDENADAS
ACTIVE BEFORE UPDATE POSITION 0
AS
DECLARE VARIABLE CODIGO INTEGER;
BEGIN
    UPDATE SETORES_AREAS SET MINERADO = 'F' WHERE CODIGO = NEW.CODIGOAREA;

    SELECT FIRST 1 MS.CODIGOAREA FROM MINERADO_SCAREAS MS WHERE MS.CODIGOAREA = NEW.CODIGOAREA INTO :CODIGO;

    IF (CODIGO IS NULL OR CODIGO <> NEW.CODIGOAREA) THEN
    BEGIN
        INSERT INTO MINERADO_SCAREAS(CODIGOAREA) VALUES(NEW.CODIGOAREA);
    END
END																   
^

SET TERM ; ^

CREATE GENERATOR GEN_MINERADO_SCAREAS_ID;

CREATE TABLE MINERADO_SCAREAS (
    CODIGO      INTEGER NOT NULL,
    CODIGOAREA  INTEGER
);

ALTER TABLE MINERADO_SCAREAS ADD CONSTRAINT PK_MINERADO_SCAREAS PRIMARY KEY (CODIGO);
CREATE INDEX IDX_CODIGOAREA ON MINERADO_SCAREAS (CODIGOAREA);

SET TERM ^ ;

CREATE OR ALTER TRIGGER MINERADO_SCAREAS_BI FOR MINERADO_SCAREAS
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
  IF (NEW.CODIGO IS NULL) THEN
    NEW.CODIGO = GEN_ID(GEN_MINERADO_SCAREAS_ID,1);
END
^

SET TERM ; ^
