CREATE GENERATOR GEN_RFID_MOTORISTAS;

CREATE DOMAIN DM_TIPO_ACAO_RFID CHAR(1)
  CHECK (VALUE IN ('I', 'A', 'R')) NOT NULL;

COMMENT ON DOMAIN DM_TIPO_ACAO_RFID IS '15.07.21 - Vitorino: Tipo de AÇÃO a ser tomada ao enviar ao RFID, podendo ser Inserção, Atualização e Remoção';

COMMIT;

CREATE TABLE RFID_MOTORISTAS (
    CODIGO               DM_CODIGOINTEIRO,
    CODIGO_CONTROLE      DM_CODIGOINTEIRO,
    CODIGO_TAB_VERT_REP  DM_CODIGOINTEIRO,
    TIPO                 DM_TIPO_ACAO_RFID
);

COMMENT ON TABLE RFID_MOTORISTAS IS '15.07.21 - Vitorino: Tabela com a informação dos motoristas de cada lotes enviados para o RFID por empresa';

COMMIT;

COMMENT ON COLUMN RFID_MOTORISTAS.CODIGO_TAB_VERT_REP IS 'Referência ao campo que será extraído e enviado ao RFID';
COMMENT ON COLUMN RFID_MOTORISTAS.TIPO IS 'Tipo de AÇÃO a ser tomada ao enviar ao RFID, podendo ser Inserção, Atualização e Remoção';

COMMIT;

ALTER TABLE RFID_MOTORISTAS ADD CONSTRAINT PK_RFID_MOTORISTAS PRIMARY KEY (CODIGO);

COMMIT;

ALTER TABLE RFID_MOTORISTAS ADD CONSTRAINT FK_RFID_MOTORISTAS_CONTROLE FOREIGN KEY (CODIGO_CONTROLE) REFERENCES RFID_CONTROLE (CODIGO);
ALTER TABLE RFID_MOTORISTAS ADD CONSTRAINT FK_RFID_MOTORISTAS_TAB_VERT FOREIGN KEY (CODIGO_TAB_VERT_REP) REFERENCES TAB_VERT_REPOSITORIO (CODIGO);

COMMIT;

SET TERM ^ ;

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

SET TERM ; ^

COMMIT;
