CREATE TABLE TBCONTAS_VARIACAO_ESTOQUE (
    ID INTEGER NOT NULL,
    DESCRICAO VARCHAR(50),
    STATUS INTEGER,
    DRE_ID INTEGER);

ALTER TABLE TBCONTAS_VARIACAO_ESTOQUE
ADD CONSTRAINT PK_TBCONTAS_VARIACAO_ESTOQUE
PRIMARY KEY (ID);

CREATE SEQUENCE GTBCONTAS_VARIACAO_ESTOQUE;

create trigger ttbcontas_variacao_estoque_b01i for tbcontas_variacao_estoque
active before insert position 0
as
begin
  if (new.id is null) then
    new.id = gen_id(gtbcontas_variacao_estoque,1);
end;

COMMENT ON TABLE TBCONTAS_VARIACAO_ESTOQUE IS 'tabela de contas de variação de estoque para a DRE';

ALTER TABLE TBCONTAS_VARIACAO_ESTOQUE
    ADD CONTA_DEBITO VARCHAR(20),
    ADD CONTA_CREDITO VARCHAR(20);

CREATE TABLE TBCONTAS_VARIACAO_EST_ITENS (
    ID INTEGER NOT NULL,
    CONTA_CONTABIL VARCHAR(20),
    CONTAS_VARIACAO_ESTOQUE_ID INTEGER,
    STATUS INTEGER);

ALTER TABLE TBCONTAS_VARIACAO_EST_ITENS
ADD CONSTRAINT PK_TBCONTAS_VARIACAO_EST_ITENS
PRIMARY KEY (ID);

CREATE SEQUENCE GTBCONTAS_VAR_EST_ITENS;

create trigger ttbcontas_var_est_itens_b01i for tbcontas_variacao_est_itens
active before insert position 0
as
begin
  if (new.id is null) then
    new.id = gen_id(gtbcontas_var_est_itens,1);
end;

COMMENT ON TABLE TBCONTAS_VARIACAO_EST_ITENS IS 'contas contabeis para conparação com as variações de estoque, usada na dre';

