RP REPORTTEMPLATE

Материал из GedeminWiki
Перейти к: навигация, поиск
CREATE TABLE rp_reporttemplate
  (
    id             dintkey,
    name           dname,
    description    dtext180,
    templatedata   dreporttemplate,
    templatetype   dtemplatetype,
    afull          dsecurity,
    achag          dsecurity,
    aview          dsecurity,
    editiondate    deditiondate,           /* Дата последнего редактирования */
    editorkey      dintkey,                /* Ссылка на пользователя, который редактировал запись*/
    reserved       dinteger
  );
 
  ALTER TABLE rp_reporttemplate
    ADD CONSTRAINT rp_pk_reporttemplate PRIMARY KEY (id);
 
  COMMIT;
 
  CREATE EXCEPTION rp_e_invalidreporttemplate 'Unknown template type';
 
  CREATE UNIQUE INDEX rp_x_reporttemplate_name ON rp_reporttemplate
    /*COMPUTED BY (UPPER(name));*/
    (name);
 
  ALTER TABLE rp_reporttemplate ADD CONSTRAINT rp_fk_reporttemplate_editorkey
    FOREIGN KEY(editorkey) REFERENCES gd_people(contactkey)
    ON UPDATE CASCADE;
 
  SET TERM ^ ;
 
  CREATE TRIGGER rp_bi_reporttemplate FOR rp_reporttemplate
    BEFORE INSERT
    POSITION 0
  AS
  BEGIN
    IF (NEW.id IS NULL) THEN
      NEW.id = GEN_ID(gd_g_unique, 1) + GEN_ID(gd_g_offset, 0);
    NEW.templatetype = UPPER(NEW.templatetype);
    IF ((NEW.templatetype <> 'RTF') AND (NEW.templatetype <> 'FR') AND
     (NEW.templatetype <> 'XFR') AND (NEW.templatetype <> 'GRD')) THEN
      EXCEPTION rp_e_invalidreporttemplate;
  END
  ^
 
  CREATE TRIGGER rp_bi_reporttemplate5 FOR rp_reporttemplate
    BEFORE INSERT POSITION 5
  AS
  BEGIN
    IF (NEW.editorkey IS NULL) THEN
      NEW.editorkey = 650002;
   IF (NEW.editiondate IS NULL) THEN
      NEW.editiondate = CURRENT_TIMESTAMP;
  END
  ^
 
  CREATE TRIGGER rp_bu_reporttemplate5 FOR rp_reporttemplate
    BEFORE UPDATE POSITION 5
  AS
  BEGIN
    IF (NEW.editorkey IS NULL) THEN
      NEW.editorkey = 650002;
    IF (NEW.editiondate IS NULL) THEN
      NEW.editiondate = CURRENT_TIMESTAMP;
  END
  ^
 
  SET TERM ; ^
Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты