WG TBLCALDAY

Материал из GedeminWiki
Перейти к: навигация, поиск
RECREATE TABLE wg_tblcalday
(
  id         dintkey,
  tblcalkey  dintkey,
  theday     ddate_notnull,
  workday    dboolean_notnull DEFAULT 1,
  wstart1    dtimestamp_notnull DEFAULT '1900-01-01 00:00:00',
  wend1      dtimestamp_notnull DEFAULT '1900-01-01 00:00:00',
  wstart2    dtimestamp_notnull DEFAULT '1900-01-01 00:00:00',
  wend2      dtimestamp_notnull DEFAULT '1900-01-01 00:00:00',
  wstart3    dtimestamp_notnull DEFAULT '1900-01-01 00:00:00',
  wend3      dtimestamp_notnull DEFAULT '1900-01-01 00:00:00',
  wstart4    dtimestamp_notnull DEFAULT '1900-01-01 00:00:00',
  wend4      dtimestamp_notnull DEFAULT '1900-01-01 00:00:00',
 
  editiondate deditiondate,
 
  WDURATION  COMPUTED BY (G_M_ROUNDNN(((wend1 - wstart1) + (wend2 - wstart2) + (wend3 - wstart3) + (wend4 - wstart4))*24, 0.01)),
 
  dow COMPUTED BY (EXTRACT(weekday FROM theday)),
 
  CONSTRAINT wg_pk_tblcalday PRIMARY KEY (id),
  CONSTRAINT wg_fk_tblcalday_tblcal FOREIGN KEY (tblcalkey) REFERENCES wg_tblcal (id)
    ON UPDATE CASCADE
    ON DELETE CASCADE,
  CONSTRAINT wg_unq_tblcalday_1 UNIQUE (tblcalkey, theday),
  CONSTRAINT wg_chk_tblcalday_1 CHECK (wend1 >= wstart1),
  CONSTRAINT wg_chk_tblcalday_2 CHECK (wend2 >= wstart2),
  CONSTRAINT wg_chk_tblcalday_3 CHECK (wend3 >= wstart3),
  CONSTRAINT wg_chk_tblcalday_4 CHECK (wend4 >= wstart4),
  CONSTRAINT wg_chk_tblcalday_5 CHECK ((wstart2 = '1900-01-01 00:00:00') OR (wstart2 >= wend1)),
  CONSTRAINT wg_chk_tblcalday_6 CHECK ((wstart3 = '1900-01-01 00:00:00') OR (wstart3 >= wend2)),
  CONSTRAINT wg_chk_tblcalday_7 CHECK ((wstart4 = '1900-01-01 00:00:00') OR (wstart4 >= wend3))
);
Персональные инструменты
Пространства имён

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