RP REPORTLIST

Материал из GedeminWiki
(Различия между версиями)
Перейти к: навигация, поиск
 
 
(не показаны 2 промежуточные версии 2 участников)
Строка 1: Строка 1:
 
 
   CREATE TABLE rp_reportlist
 
   CREATE TABLE rp_reportlist
 
   (
 
   (
     id                dintkey,                /* èäåíòèôèêàòîð                     */
+
     id                dintkey,                /* идентификатор                     */
     name              dname,                  /* íàèìåíîâàíèå îò÷åòà               */
+
     name              dname,                  /* наименование отчета               */
     description      dtext180,                /* êîììåíòàðèé                       */
+
     description      dtext180,                /* комментарий                       */
     frqrefresh        dinteger DEFAULT 1,      /* ÷àñòîòà îáíîâëåíèÿ â äíÿõ         */
+
     frqrefresh        dinteger DEFAULT 1,      /* частота обновления в днях         */
 
     reportgroupkey    dintkey,
 
     reportgroupkey    dintkey,
 
     paramformulakey  dforeignkey,
 
     paramformulakey  dforeignkey,
Строка 18: Строка 17:
 
     islocalexecute    dboolean DEFAULT 0,
 
     islocalexecute    dboolean DEFAULT 0,
 
     preview          dboolean DEFAULT 1,
 
     preview          dboolean DEFAULT 1,
     globalreportkey  dinteger,              /* Ãëîáàëüíûé èäåíòèôèêàòîð îò÷åòà     */
+
    modalpreview      dboolean_notnull DEFAULT 0,
                                               /* Äîëæåí çàäàâàòüñÿ ïðîãðàììèñòîì     */
+
     globalreportkey  dinteger,              /* Глобальный идентификатор отчета     */
     editiondate      deditiondate,          /* Äàòà ïîñëåäíåãî ðåäàêòèðîâàíèÿ */
+
                                               /* Должен задаваться программистом     */
     editorkey        dintkey,                /* Ññûëêà íà ïîëüçîâàòåëÿ, êîòîðûé ðåäàêòèðîâàë çàïèñü*/
+
     editiondate      deditiondate,          /* Дата последнего редактирования */
     displayinmenu    dboolean DEFAULT 1,    /* Îòîáðàæàòü â ìåíþ ôîðìû */
+
     editorkey        dintkey,                /* Ссылка на пользователя, который редактировал запись*/
 +
     displayinmenu    dboolean DEFAULT 1,    /* Отображать в меню формы */
 
     reserved          dinteger,
 
     reserved          dinteger,
 
     folderkey        dforeignkey
 
     folderkey        dforeignkey
 
   );
 
   );
 
+
 
   ALTER TABLE rp_reportlist
 
   ALTER TABLE rp_reportlist
 
     ADD CONSTRAINT rp_pk_reportlist PRIMARY KEY (id);
 
     ADD CONSTRAINT rp_pk_reportlist PRIMARY KEY (id);
 
+
 
   ALTER TABLE rp_reportlist ADD CONSTRAINT rp_fk_reportlist_groupkey
 
   ALTER TABLE rp_reportlist ADD CONSTRAINT rp_fk_reportlist_groupkey
 
     FOREIGN KEY (reportgroupkey) REFERENCES rp_reportgroup(id)
 
     FOREIGN KEY (reportgroupkey) REFERENCES rp_reportgroup(id)
 
     ON UPDATE CASCADE;
 
     ON UPDATE CASCADE;
 
+
 
   CREATE UNIQUE INDEX rp_x_reportlist_namerpgroup
 
   CREATE UNIQUE INDEX rp_x_reportlist_namerpgroup
 
     ON rp_reportlist(name, reportgroupkey);
 
     ON rp_reportlist(name, reportgroupkey);
 
+
   /* Äëÿ íèæå ïåðå÷èñëåííûõ êîíñòðåéíîâ ÍÅËÜÇß ÑÒÀÂÈÒÜ     DELETE CASCADE */
+
   /* Для ниже перечисленных констрейнов НЕЛЬЗЯ СТАВИТЬ     DELETE CASCADE */
 
   ALTER TABLE rp_reportlist ADD CONSTRAINT rp_fk_reportlist_paramfkey
 
   ALTER TABLE rp_reportlist ADD CONSTRAINT rp_fk_reportlist_paramfkey
 
     FOREIGN KEY (paramformulakey) REFERENCES gd_function(id)
 
     FOREIGN KEY (paramformulakey) REFERENCES gd_function(id)
 
     ON UPDATE CASCADE;
 
     ON UPDATE CASCADE;
 
+
   /* Äëÿ íèæå ïåðå÷èñëåííûõ êîíñòðåéíîâ ÍÅËÜÇß ÑÒÀÂÈÒÜ     DELETE CASCADE */
+
   /* Для ниже перечисленных констрейнов НЕЛЬЗЯ СТАВИТЬ     DELETE CASCADE */
 
   ALTER TABLE rp_reportlist ADD CONSTRAINT rp_fk_reportlist_mainfkey
 
   ALTER TABLE rp_reportlist ADD CONSTRAINT rp_fk_reportlist_mainfkey
 
     FOREIGN KEY (mainformulakey) REFERENCES gd_function(id)
 
     FOREIGN KEY (mainformulakey) REFERENCES gd_function(id)
 
     ON UPDATE CASCADE;
 
     ON UPDATE CASCADE;
 
+
   /* Äëÿ íèæå ïåðå÷èñëåííûõ êîíñòðåéíîâ ÍÅËÜÇß ÑÒÀÂÈÒÜ     DELETE CASCADE */
+
   /* Для ниже перечисленных констрейнов НЕЛЬЗЯ СТАВИТЬ     DELETE CASCADE */
 
   ALTER TABLE rp_reportlist ADD CONSTRAINT rp_fk_reportlist_eventfkey
 
   ALTER TABLE rp_reportlist ADD CONSTRAINT rp_fk_reportlist_eventfkey
 
     FOREIGN KEY (eventformulakey) REFERENCES gd_function(id)
 
     FOREIGN KEY (eventformulakey) REFERENCES gd_function(id)
 
     ON UPDATE CASCADE;
 
     ON UPDATE CASCADE;
 
+
   /* Äëÿ íèæå ïåðå÷èñëåííûõ êîíñòðåéíîâ ÍÅËÜÇß ÑÒÀÂÈÒÜ     DELETE CASCADE */
+
   /* Для ниже перечисленных констрейнов НЕЛЬЗЯ СТАВИТЬ     DELETE CASCADE */
 
   ALTER TABLE rp_reportlist ADD CONSTRAINT rp_fk_reportlist_templatefkey
 
   ALTER TABLE rp_reportlist ADD CONSTRAINT rp_fk_reportlist_templatefkey
 
     FOREIGN KEY (templatekey) REFERENCES rp_reporttemplate(id)
 
     FOREIGN KEY (templatekey) REFERENCES rp_reporttemplate(id)
 
     ON UPDATE CASCADE;
 
     ON UPDATE CASCADE;
 
+
 
   ALTER TABLE rp_reportlist ADD CONSTRAINT rp_fk_reportlist_editorkey
 
   ALTER TABLE rp_reportlist ADD CONSTRAINT rp_fk_reportlist_editorkey
 
     FOREIGN KEY(editorkey) REFERENCES gd_people(contactkey)
 
     FOREIGN KEY(editorkey) REFERENCES gd_people(contactkey)
 
     ON UPDATE CASCADE;
 
     ON UPDATE CASCADE;
 
+
 
   ALTER TABLE RP_REPORTLIST ADD CONSTRAINT FK_RP_REPORTLIST_FOLDERKEY
 
   ALTER TABLE RP_REPORTLIST ADD CONSTRAINT FK_RP_REPORTLIST_FOLDERKEY
 
     FOREIGN KEY (FOLDERKEY) REFERENCES GD_COMMAND (ID)
 
     FOREIGN KEY (FOLDERKEY) REFERENCES GD_COMMAND (ID)
 
     ON DELETE SET NULL ON UPDATE CASCADE;
 
     ON DELETE SET NULL ON UPDATE CASCADE;
 
   COMMIT;
 
   COMMIT;
 
+
 
   SET TERM ^ ;
 
   SET TERM ^ ;
 
+
 
   CREATE TRIGGER rp_before_insert_reportlist FOR rp_reportlist
 
   CREATE TRIGGER rp_before_insert_reportlist FOR rp_reportlist
 
     BEFORE INSERT
 
     BEFORE INSERT
Строка 79: Строка 79:
 
   END
 
   END
 
   ^
 
   ^
 
+
 
   CREATE TRIGGER rp_bi_reportlist5 FOR rp_reportlist
 
   CREATE TRIGGER rp_bi_reportlist5 FOR rp_reportlist
 
     BEFORE INSERT POSITION 5
 
     BEFORE INSERT POSITION 5
Строка 90: Строка 90:
 
   END
 
   END
 
   ^
 
   ^
 
+
 
   CREATE TRIGGER rp_bu_reportlist5 FOR rp_reportlist
 
   CREATE TRIGGER rp_bu_reportlist5 FOR rp_reportlist
 
     BEFORE UPDATE POSITION 5
 
     BEFORE UPDATE POSITION 5
Строка 101: Строка 101:
 
   END
 
   END
 
   ^
 
   ^
 
+
 
   SET TERM ; ^
 
   SET TERM ; ^
 +
 +
[[Category:База данных]]

Текущая версия на 16:21, 13 января 2012

 CREATE TABLE rp_reportlist
 (
   id                dintkey,                 /* идентификатор                      */
   name              dname,                   /* наименование отчета                */
   description       dtext180,                /* комментарий                        */
   frqrefresh        dinteger DEFAULT 1,      /* частота обновления в днях          */
   reportgroupkey    dintkey,
   paramformulakey   dforeignkey,
   mainformulakey    dintkey,
   eventformulakey   dforeignkey,
   templatekey       dforeignkey,
   IsRebuild         dboolean,
   afull             dsecurity,
   achag             dsecurity,
   aview             dsecurity,
   serverkey         dforeignkey,
   islocalexecute    dboolean DEFAULT 0,
   preview           dboolean DEFAULT 1,
   modalpreview      dboolean_notnull DEFAULT 0,
   globalreportkey   dinteger,               /* Глобальный идентификатор отчета     */
                                             /* Должен задаваться программистом     */
   editiondate       deditiondate,           /* Дата последнего редактирования */
   editorkey         dintkey,                /* Ссылка на пользователя, который редактировал запись*/
   displayinmenu     dboolean DEFAULT 1,     /* Отображать в меню формы */
   reserved          dinteger,
   folderkey         dforeignkey
 );

 ALTER TABLE rp_reportlist
   ADD CONSTRAINT rp_pk_reportlist PRIMARY KEY (id);

 ALTER TABLE rp_reportlist ADD CONSTRAINT rp_fk_reportlist_groupkey
   FOREIGN KEY (reportgroupkey) REFERENCES rp_reportgroup(id)
   ON UPDATE CASCADE;

 CREATE UNIQUE INDEX rp_x_reportlist_namerpgroup
   ON rp_reportlist(name, reportgroupkey);

 /* Для ниже перечисленных констрейнов НЕЛЬЗЯ СТАВИТЬ     DELETE CASCADE */
 ALTER TABLE rp_reportlist ADD CONSTRAINT rp_fk_reportlist_paramfkey
   FOREIGN KEY (paramformulakey) REFERENCES gd_function(id)
   ON UPDATE CASCADE;

 /* Для ниже перечисленных констрейнов НЕЛЬЗЯ СТАВИТЬ     DELETE CASCADE */
 ALTER TABLE rp_reportlist ADD CONSTRAINT rp_fk_reportlist_mainfkey
   FOREIGN KEY (mainformulakey) REFERENCES gd_function(id)
   ON UPDATE CASCADE;

 /* Для ниже перечисленных констрейнов НЕЛЬЗЯ СТАВИТЬ     DELETE CASCADE */
 ALTER TABLE rp_reportlist ADD CONSTRAINT rp_fk_reportlist_eventfkey
   FOREIGN KEY (eventformulakey) REFERENCES gd_function(id)
   ON UPDATE CASCADE;

 /* Для ниже перечисленных констрейнов НЕЛЬЗЯ СТАВИТЬ     DELETE CASCADE */
 ALTER TABLE rp_reportlist ADD CONSTRAINT rp_fk_reportlist_templatefkey
   FOREIGN KEY (templatekey) REFERENCES rp_reporttemplate(id)
   ON UPDATE CASCADE;

 ALTER TABLE rp_reportlist ADD CONSTRAINT rp_fk_reportlist_editorkey
   FOREIGN KEY(editorkey) REFERENCES gd_people(contactkey)
   ON UPDATE CASCADE;

 ALTER TABLE RP_REPORTLIST ADD CONSTRAINT FK_RP_REPORTLIST_FOLDERKEY
   FOREIGN KEY (FOLDERKEY) REFERENCES GD_COMMAND (ID)
   ON DELETE SET NULL ON UPDATE CASCADE;
 COMMIT;

 SET TERM ^ ;

 CREATE TRIGGER rp_before_insert_reportlist FOR rp_reportlist
   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);
   IF (NEW.islocalexecute IS NULL) THEN
     NEW.islocalexecute = 0;
 END
 ^

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

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