CREATE TABLE RFID_HISTORICO_ALT (
    CODIGO DM_CODIGOINTEIRO NOT NULL,
    CODIGO_TAB_VERT_REP DM_CODIGOINTEIRO, 
	CODIGO_RFID_CONTROLE DM_INTEIRO,
    VALOR_ANTERIOR DM_DESCRICAO,
    TIPO DM_TIPO_ACAO_RFID DEFAULT 'R',
    DATAHORA_INSERCAO DM_DATAHORADEF
);

COMMIT;

COMMENT ON TABLE RFID_HISTORICO_ALT IS '19.07.21: Vitorino - Tabela para controle de alteração do número de RFID para ser enviado ao dispositivo';

COMMIT;

ALTER TABLE RFID_HISTORICO_ALT
ADD CONSTRAINT PK_RFID_HISTORICO_ALT
PRIMARY KEY (CODIGO);

ALTER TABLE RFID_HISTORICO_ALT
  ADD CONSTRAINT FK_RFID_HISTORICO_ALT_TAB_VERT 
  FOREIGN KEY (CODIGO_TAB_VERT_REP) 
  REFERENCES TAB_VERT_REPOSITORIO (CODIGO);
  
ALTER TABLE RFID_HISTORICO_ALT
  ADD CONSTRAINT FK_RFID_HISTORICO_ALT_CONTROLE
  FOREIGN KEY (CODIGO_RFID_CONTROLE) 
  REFERENCES RFID_CONTROLE (CODIGO);

COMMIT;

CREATE SEQUENCE GEN_RFID_HISTORICO_ALT;

SET TERM ^ ;

CREATE TRIGGER RFID_HISTORICO_ALT_GEN FOR RFID_HISTORICO_ALT
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
  IF (NEW.CODIGO IS NULL) THEN
    NEW.CODIGO = GEN_ID(GEN_RFID_HISTORICO_ALT,1);
END^

SET TERM ; ^

COMMIT;