/******************************************************************************/ /**** Tables ****/ /******************************************************************************/ CREATE GENERATOR GTBPREFIXO_EAN; CREATE TABLE TBPREFIXO_EAN ( ID INTEGER NOT NULL, PREFIXO VARCHAR(20), STATUS INTEGER, DATAHORA TIMESTAMP DEFAULT 'NOW' NOT NULL ); /******************************************************************************/ /**** Primary keys ****/ /******************************************************************************/ ALTER TABLE TBPREFIXO_EAN ADD CONSTRAINT PK_TBPREFIXO_EAN PRIMARY KEY (ID); /******************************************************************************/ /**** Triggers ****/ /******************************************************************************/ SET TERM ^ ; /******************************************************************************/ /**** Triggers for tables ****/ /******************************************************************************/ /* Trigger: TTBPREFIXO_EAN_B01D */ CREATE OR ALTER TRIGGER TTBPREFIXO_EAN_B01D FOR TBPREFIXO_EAN ACTIVE BEFORE DELETE POSITION 0 AS DECLARE VARIABLE HISTORICO VARCHAR(500); BEGIN HISTORICO = ''; IF (OLD.ID > 0) THEN BEGIN HISTORICO = HISTORICO||'REGISTRO EXCLUIDO'; END IF (HISTORICO <> '') THEN BEGIN EXECUTE PROCEDURE SPI_HISTORICO('TBPREFIXO_EAN', OLD.ID, HISTORICO); END END ^ /* Trigger: TTBPREFIXO_EAN_B01I */ CREATE OR ALTER TRIGGER TTBPREFIXO_EAN_B01I FOR TBPREFIXO_EAN ACTIVE BEFORE INSERT POSITION 0 as begin if (new.id is null) then new.id = gen_id(gtbprefixo_ean,1); end ^ /* Trigger: TTBPREFIXO_EAN_B01U */ CREATE OR ALTER TRIGGER TTBPREFIXO_EAN_B01U FOR TBPREFIXO_EAN ACTIVE BEFORE UPDATE POSITION 0 AS DECLARE VARIABLE HISTORICO VARCHAR(5000); BEGIN HISTORICO = ''; IF (OLD.PREFIXO <> NEW.PREFIXO) THEN BEGIN HISTORICO = HISTORICO||' DESC:'||FN_ELIPSE2(OLD.PREFIXO, 230)||'->'||FN_ELIPSE2(NEW.PREFIXO, 230); END IF (HISTORICO <> '') THEN BEGIN HISTORICO = 'REGISTRO ALTERADO:'||HISTORICO; EXECUTE PROCEDURE SPI_HISTORICO('TBPREFIXO_EAN', OLD.ID, FN_ELIPSE(HISTORICO, 500)); END END ^ /* Trigger: TTBPREFIXO_EAN_B02I */ CREATE OR ALTER TRIGGER TTBPREFIXO_EAN_B02I FOR TBPREFIXO_EAN ACTIVE BEFORE INSERT POSITION 1 AS DECLARE VARIABLE HISTORICO VARCHAR(500); BEGIN HISTORICO = ''; IF (NEW.ID > 0) THEN BEGIN HISTORICO = HISTORICO||'REGISTRO INCLUIDO'; END IF (HISTORICO <> '') THEN BEGIN EXECUTE PROCEDURE SPI_HISTORICO('TBPREFIXO_EAN', NEW.ID, HISTORICO); END END ^ SET TERM ; ^ /******************************************************************************/ /**** Fields descriptions ****/ /******************************************************************************/ COMMENT ON COLUMN TBPREFIXO_EAN.STATUS IS '0 - INATIVO; 1 - ATIVO;'; /******************************************************************************/ /**** Privileges ****/ /******************************************************************************/ /* Privileges of users */ GRANT ALL ON TBPREFIXO_EAN TO GC WITH GRANT OPTION; GRANT SELECT ON MON$ATTACHMENTS TO PUBLIC; GRANT SELECT ON MON$CALL_STACK TO PUBLIC; GRANT SELECT ON MON$CONTEXT_VARIABLES TO PUBLIC; GRANT SELECT ON MON$DATABASE TO PUBLIC; GRANT SELECT ON MON$IO_STATS TO PUBLIC; GRANT SELECT ON MON$MEMORY_USAGE TO PUBLIC; GRANT SELECT ON MON$RECORD_STATS TO PUBLIC; GRANT SELECT ON MON$STATEMENTS TO PUBLIC; GRANT SELECT ON MON$TABLE_STATS TO PUBLIC; GRANT SELECT ON MON$TRANSACTIONS TO PUBLIC;