RP REPORTTEMPLATE

Материал из GedeminWiki
Версия от 13:56, 27 апреля 2007; 193.232.248.176 (обсуждение)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

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 ; ^
Персональные инструменты
Пространства имён

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