/* Выборки данных оборудования (классы оборудования, файлы данных) */ create table UDO_T_EQUIPDSCMFL ( /* Регистрационный номер */ RN number(17) not null, /* Родитель */ PRN number(17) not null, /* Имя файла */ FILE_NAME varchar2(2000) not null, /* Описание */ DESCR varchar2(4000) default null, /* Идентификатор очереди обработки */ QUEUE_ID varchar2(200) default null, /* Состояние (0 - зарегистрирован, 1 - загружается на сервер, 2 - успешно загружен на сервер, 3 - ошибка загрузки на сервер, 4 - загружается во внешнюю систему, 5 - успешно загружен во внешнюю систему, 6 - при загрузке во внешнюю систему произошла ошибка) */ STATUS number(1) default 0 not null, /* Сообщение об ошибке */ ERR varchar2(4000) default null, /* Данные */ DATASET blob, /* Идентификатор данных */ DATASET_ID number(17) not null, /* Время формирования данных */ DATASET_TS date not null, /* Ключи */ constraint UDO_C_EQUIPDSCMFL_RN_PK primary key (RN), constraint UDO_C_EQUIPDSCMFL_PRN_FK foreign key (PRN) references UDO_T_EQUIPDSCM(RN), constraint UDO_C_EQUIPDSCMFL_FLNM_NB check (rtrim(FILE_NAME) is not null), constraint UDO_C_EQUIPDSCMFL_DESCR_NB check ((DESCR is null) or (rtrim(DESCR) is not null)), constraint UDO_C_EQUIPDSCMFL_QID_NB check ((QUEUE_ID is null) or (rtrim(QUEUE_ID) is not null)), constraint UDO_C_EQUIPDSCMFL_QID_CH check (((STATUS in (4, 5)) and (QUEUE_ID is not null)) or ((STATUS not in (4, 5)) and (QUEUE_ID is null))), constraint UDO_C_EQUIPDSCMFL_STATUS_CH check (STATUS in (0, 1, 2, 3, 4, 5, 6)), constraint UDO_C_EQUIPDSCMFL_ERR_NB check ((ERR is null) or (rtrim(ERR) is not null)), constraint UDO_C_EQUIPDSCMFL_ERR_CH check (((STATUS in (3, 6)) and (ERR is not null)) or ((STATUS not in (3, 6)) and (ERR is null))), constraint UDO_C_EQUIPDSCMFL_FLNM_UN unique (PRN, FILE_NAME), constraint UDO_C_EQUIPDSCMFL_QID_UN unique (FILE_NAME, QUEUE_ID) );