CREATE TABLE TBIMPLANTACAO_FASES (
    ID INTEGER,
    DESCRICAO VARCHAR(50),
    DATA_INICIO DATE,
    DATA_FIM DATE,
    OBSERVACOES BLOB SUB_TYPE 1 SEGMENT SIZE 80,
    IMPLANTACAO_ID INTEGER);
	
CREATE SEQUENCE GTBIMPLANTACAO_FASES;

SET TERM ^ ;

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

SET TERM ; ^

CREATE INDEX ITBIMPLANTACAO_FASES_ID01
ON TBIMPLANTACAO_FASES (ID);

CREATE INDEX ITBIMPLANTACAO_FASES_ID02
ON TBIMPLANTACAO_FASES (IMPLANTACAO_ID);

SET TERM ^ ;

CREATE trigger ttbimplantacao_b03i for tbimplantacao
active before insert position 0
AS
BEGIN
    IF(NEW.ID > 0) THEN
    BEGIN
        INSERT INTO TBIMPLANTACAO_FASES (DESCRICAO, OBSERVACOES, IMPLANTACAO_ID)
        VALUES ('APRESENTAÇÃO', '', NEW.ID);

        INSERT INTO TBIMPLANTACAO_FASES (DESCRICAO, OBSERVACOES, IMPLANTACAO_ID)
        VALUES ('MAPEAMENTO', '', NEW.ID);

        INSERT INTO TBIMPLANTACAO_FASES (DESCRICAO, OBSERVACOES, IMPLANTACAO_ID)
        VALUES ('HOMOLOGAÇÃO', '', NEW.ID);

        INSERT INTO TBIMPLANTACAO_FASES (DESCRICAO, OBSERVACOES, IMPLANTACAO_ID)
        VALUES ('TREINAMENTO', '', NEW.ID);

        INSERT INTO TBIMPLANTACAO_FASES (DESCRICAO, OBSERVACOES, IMPLANTACAO_ID)
        VALUES ('VIRADA', '', NEW.ID);

        INSERT INTO TBIMPLANTACAO_FASES (DESCRICAO, OBSERVACOES, IMPLANTACAO_ID)
        VALUES ('ACOMPANHAMENTO', '', NEW.ID);
    END
END
^

SET TERM ; ^