CREATE TABLE TBPROJECAO_CONSUMO (
    ID INTEGER NOT NULL,
    DESCRICAO VARCHAR(150),
    DATA DATE DEFAULT 'NOW');

ALTER TABLE TBPROJECAO_CONSUMO
ADD CONSTRAINT PK_TBPROJECAO_CONSUMO
PRIMARY KEY (ID);

CREATE SEQUENCE GTBPROJECAO_CONSUMO;

SET TERM ^ ;

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

SET TERM ; ^

CREATE TABLE TBPROJECAO_CONSUMO_ITEM (
    ID INTEGER NOT NULL,
    MODELO_ID INTEGER,
    COR_ID INTEGER,
    TAMANHO INTEGER,
    QUANTIDADE NUMERIC(15,4),
    INFO BLOB SUB_TYPE 1 SEGMENT SIZE 80);

ALTER TABLE TBPROJECAO_CONSUMO_ITEM
ADD CONSTRAINT PK_TBPROJECAO_CONSUMO_ITEM
PRIMARY KEY (ID);

CREATE SEQUENCE GTBPROJECAO_CONSUMO_ITEM;

SET TERM ^ ;

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

SET TERM ; ^

ALTER TABLE TBPROJECAO_CONSUMO_ITEM
    ADD PROJECAO_ID INTEGER;

SET TERM ^ ;

CREATE trigger ttbprojecao_consumo_b01d for tbprojecao_consumo
active before delete position 0
AS
BEGIN
   IF(OLD.ID > 0) THEN
   BEGIN
      DELETE FROM TBPROJECAO_CONSUMO_ITEM WHERE PROJECAO_ID = OLD.ID;
   END
END
^

SET TERM ; ^

ALTER TABLE TBPROJECAO_CONSUMO_ITEM
    ADD TIPO_IMPORTACAO INTEGER;


SET TERM ^ ;

CREATE OR ALTER trigger ttbprojecao_consumo_b02iu for tbprojecao_consumo
active before insert or update position 1
AS
DECLARE VARIABLE DESCRICAO VARCHAR(150);
BEGIN
   DESCRICAO = COALESCE((SELECT FIRST 1 A.DESCRICAO FROM TBPROJECAO_CONSUMO A WHERE A.ID <> NEW.ID),'');
   IF(DESCRICAO <> '') THEN
   BEGIN
         EXCEPTION "..." ' JÁ EXISTE UM REGISTRO COM A DESCRIÇÃO: "'||NEW.DESCRICAO||'" CADASTRADA!';
   END
END
^

SET TERM ; ^

ALTER TABLE TBPROJECAO_CONSUMO
    ADD USUARIO_ID INTEGER;

ALTER TABLE TBPROJECAO_CONSUMO
    ADD DATAHORA TIMESTAMP DEFAULT 'NOW';

ALTER TABLE TBPROJECAO_CONSUMO DROP DATA;







