CREATE TABLE TBCONTROLE_TABELA ( ID INTEGER NOT NULL, USUARIO_ID INTEGER, TIPO_PLATAFORMA INTEGER, TABELA_ID VARCHAR(80)); COMMENT ON COLUMN TBCONTROLE_TABELA.TIPO_PLATAFORMA IS '0 - Web / 1 - Mobile'; COMMENT ON COLUMN TBCONTROLE_TABELA.TABELA_ID IS 'ID atribuido à tabela (ex.: 22430_TBMODELO)'; CREATE SEQUENCE GTBCONTROLE_TABELA; CREATE TABLE TBCONTROLE_TABELA_COLUNAS ( ID INTEGER NOT NULL, CONTROLE_TABELA_ID INTEGER NOT NULL, DESCRICAO VARCHAR(80), STATUS INTEGER); COMMENT ON COLUMN TBCONTROLE_TABELA_COLUNAS.STATUS IS '0 - Oculta / 1 - Visível'; CREATE SEQUENCE GTBCONTROLE_TABELA_COLUNAS; CREATE INDEX ITBCONTROLE_TABELA_04 ON TBCONTROLE_TABELA (TABELA_ID); CREATE INDEX ITBCONTROLE_TABELA_03 ON TBCONTROLE_TABELA (TIPO_PLATAFORMA); CREATE INDEX ITBCONTROLE_TABELA_02 ON TBCONTROLE_TABELA (USUARIO_ID); CREATE INDEX ITBCONTROLE_TABELA_01 ON TBCONTROLE_TABELA (ID); CREATE INDEX ITBCONTROLE_TABELA_COLUNAS_04 ON TBCONTROLE_TABELA_COLUNAS (STATUS); CREATE INDEX ITBCONTROLE_TABELA_COLUNAS_03 ON TBCONTROLE_TABELA_COLUNAS (DESCRICAO); CREATE INDEX ITBCONTROLE_TABELA_COLUNAS_02 ON TBCONTROLE_TABELA_COLUNAS (CONTROLE_TABELA_ID); CREATE INDEX ITBCONTROLE_TABELA_COLUNAS_01 ON TBCONTROLE_TABELA_COLUNAS (ID); SET TERM ^ ; CREATE OR ALTER TRIGGER TTBCONTROLE_TABELA_B01I FOR TBCONTROLE_TABELA ACTIVE BEFORE INSERT POSITION 0 AS BEGIN IF (NEW.ID IS NULL) THEN NEW.ID = GEN_ID(GTBCONTROLE_TABELA,1); END ^ SET TERM ; ^ SET TERM ^ ; CREATE OR ALTER TRIGGER TTBCONTROLE_TABELA_COLUNAS_B01I FOR TBCONTROLE_TABELA_COLUNAS ACTIVE BEFORE INSERT POSITION 0 AS BEGIN IF (NEW.ID IS NULL) THEN NEW.ID = GEN_ID(GTBCONTROLE_TABELA_COLUNAS,1); END ^ SET TERM ; ^ SET TERM ^ ; CREATE OR ALTER trigger ttbcontrole_tabela_b01d for tbcontrole_tabela active before delete position 0 AS BEGIN IF (OLD.ID > 0) THEN BEGIN DELETE FROM TBCONTROLE_TABELA_COLUNAS T WHERE T.CONTROLE_TABELA_ID = OLD.ID; END END^ SET TERM ; ^