CREATE TABLE LOTES_UNIDADES_MICRO (
    CODIGO DM_CODIGOINTEIRO,
    CODIGO_LOTE_UNIDADE_MACRO DM_CODIGOINTEIRO,
    DESCRICAO DM_DESCRICAO);

ALTER TABLE LOTES_UNIDADES_MICRO
ADD CONSTRAINT PK_LOTES_UNIDADES_MICRO
PRIMARY KEY (CODIGO);

ALTER TABLE LOTES_UNIDADES_MICRO
ADD CONSTRAINT FK_LUM_LOTES_UNIDADES_MACRO
FOREIGN KEY (CODIGO_LOTE_UNIDADE_MACRO)
REFERENCES LOTES_UNIDADES_MACRO (CODIGO)
ON DELETE CASCADE;

CREATE SEQUENCE GEN_LOTES_UNIDADES_MICRO;

SET TERM ^ ;

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

SET TERM ; ^

COMMENT ON TABLE LOTES_UNIDADES_MICRO IS '24.09.2020 - Vitorino: Informação da unidade que irá receber os dispositivos no cadastro de lote';