ALTER TABLE TBPDV_CFE
    ADD NUMERO_SESSAO_CFE INTEGER DEFAULT 0 NOT NULL;

CREATE INDEX ITBPDV_CFE_28
ON TBPDV_CFE (NUMERO_SESSAO_CFE);


ALTER TABLE TBPDV_CFE
    ADD PDV_CAIXA_ID INTEGER DEFAULT 0 NOT NULL;


CREATE INDEX ITBPDV_MFE_01
ON TBPDV_MFE (PDV_ID);


ALTER TABLE TBPDV_MFE
    ADD DATAHORA TIMESTAMP DEFAULT LOCALTIMESTAMP NOT NULL;


CREATE TABLE TBPDV_MFE_CAIXA (
    ID INTEGER NOT NULL,
    PDV_MFE_ID INTEGER DEFAULT 0 NOT NULL,
    PDV_CAIXA_ID INTEGER DEFAULT 0 NOT NULL,
    DATAHORA TIMESTAMP DEFAULT LOCALTIMESTAMP NOT NULL);

ALTER TABLE TBPDV_MFE_CAIXA
ADD CONSTRAINT PK_TBPDV_MFE_CAIXA
PRIMARY KEY (ID);

CREATE SEQUENCE GTBPDV_MFE_CAIXA;

SET TERM ^ ;

create trigger ttbpdv_mfe_caixa_b01i for tbpdv_mfe_caixa
active before insert position 0
as
begin
  if (new.id is null) then
    new.id = gen_id(gtbpdv_mfe_caixa,1);
end
^

SET TERM ; ^

CREATE INDEX ITBPDV_MFE_CAIXA_01
ON TBPDV_MFE_CAIXA (PDV_MFE_ID);

CREATE INDEX ITBPDV_MFE_CAIXA_02
ON TBPDV_MFE_CAIXA (PDV_CAIXA_ID);

ALTER TABLE TBPDV_MFE
    ADD GENERATOR_MFE VARCHAR(100);



CREATE INDEX ITBPDV_CFE_29
ON TBPDV_CFE (PDV_CAIXA_ID);

