Создал ещё несколько таблиц.
Код: Выделить всё
//Группы форматов
Alter Dictionary ;
drop table ppgrformat;
create table D_USER.ppgrformat "Группы форматов"
with table_Code = 32500 with replace
with tableOptions header, journal
(
name : string[50] "Наименование группы"
)
with index
(
ppgrformat01 = name
);
UPDATE x$files WHERE xf$code = 32500 SET xf$checksum = 0;
//Таблица связи ppkatstan и katmc
//Alter Dictionary ;
drop table ppkatstanmc;
create table D_USER.ppkatstanmc "Таблица связи ppkatstan и katmc"
with table_Code = 32501 with replace
with tableOptions header, journal
(
cmc : ref(table katmc) "Ссылка на katmc.nrec МЦ"
)
with index
(
ppkatstanmc01 = cmc
);
UPDATE x$files WHERE xf$code = 32501 SET xf$checksum = 0;
alter table ppkatstanmc
foreign key ppkatstanmc01
references katsopr
primary key KATSOPR01;
//Формальные МЦ
//Alter Dictionary ;
drop table ppkatstan;
create table D_USER.ppkatstan "Формальные МЦ"
with table_Code = 32502 with replace
with tableOptions header, journal
(
cmc : ref(table katmc) "Ссылка на katmc.nrec",
name : string[200] "Название МЦ",
isarch :word "Признак архива-1 / 0 - нет",
cppkatstanmc : ref(table ppkatstanmc) "Ссылка на ppkatstanmc.nrec",
cppgrformat : ref(table ppgrformat) "Ссылка на ppgrformat.nrec"
)
with index
(
ppkatstanmc01 = cmc,
ppkatstanmc02 =name+isarch,
ppkatstanmc03 =cppkatstanmc,
ppkatstanmc04 = cppgrformat
);
UPDATE x$files WHERE xf$code = 32502 SET xf$checksum = 0;
alter table ppkatstan
foreign key ppkatstanmc01
references katmc
primary key KATMC01;
alter table ppkatstan
foreign key ppkatstanmc03
references ppkatstanmc
primary key ppkatstanmcid;
alter table ppkatstan
foreign key ppkatstanmc04
references ppgrformat
primary key ppgrformatid;
//Статусы
//Alter Dictionary;
drop table ppstatus;
create table D_USER.ppstatus "Статусы"
with table_Code = 32503 with replace
with tableOptions header, journal
(
name : string[50] "Наименование статуса",
cppstatus : ref(table ppstatus) "Ссылка на ppstatus.nrec до",
cppstatus2 : ref(table ppstatus) "Ссылка на ppstatus.nrec после"
)
with index
(
ppstatus01 = name,
ppstatus02 =cppstatus,
ppstatus03 =cppstatus2
);
UPDATE x$files WHERE xf$code = 32503 SET xf$checksum = 0;
alter table ppstatus
foreign key ppstatus02
references ppstatus
primary key ppstatusid;
alter table ppstatus
foreign key ppstatus03
references ppstatus
primary key ppstatusid;
//Линии
//Alter Dictionary ;
drop table ppline;
create table D_USER.ppline "Линии"
with table_Code = 32504 with replace
with tableOptions header, journal
(
name : string[200] "Наименование линии",
cpodr : ref(table katpodr) "Ссылка на katpodr.nrec"
)
with index
(
ppline01 = name,
ppline02 =cpodr
);
UPDATE x$files WHERE xf$code = 32504 SET xf$checksum = 0;
alter table ppline
foreign key ppline02
references katpodr
primary key KATPODR01;
//Шапка плана
//Alter Dictionary ;
drop table pptitle;
create table D_USER.pptitle "Шапка плана"
with table_Code = 32505 with replace
with tableOptions header, journal
(
cpodr : ref(table katpodr) "Ссылка на katpodr.nrec",
pdate : date "Дата создания плана",
pbdate: date "Начальная дата",
pedate: date "Конечная дата",
cppstatus: ref(table ppstatus) "Ссылка на ppstatus.nrec",
cppline: ref(table ppline) "Ссылка на ppline.nrec",
cpptitle: ref(table pptitle) "Ссылка на pptitle.nrec"
)
with index
(
pptitle01 =cpodr,
pptitle02 =pdate,
pptitle03 =pbdate+pedate,
pptitle04 =cppstatus,
pptitle05 =cppline,
pptitle06 =cpptitle
);
UPDATE x$files WHERE xf$code = 32505 SET xf$checksum = 0;
alter table pptitle
foreign key pptitle01
references katpodr
primary key KATPODR01;
alter table pptitle
foreign key pptitle04
references ppstatus
primary key ppstatusid;
alter table pptitle
foreign key pptitle05
references ppline
primary key pplineid;
alter table pptitle
foreign key pptitle06
references pptitle
primary key pptitleid;
//Спецификация плана
//Alter Dictionary ;
//drop table ppspec;
create table D_USER.ppspec "Спецификация плана"
with table_Code = 32506 with replace
with tableOptions header, journal
(
cpptitle : ref(table pptitle) "Ссылка на pptitle.nrec",
npp: word "Номер плана",
cppkatstan: ref(table ppkatstan) "Ссылка на ppkatstan.nrec",
cotped: ref(table katotped) "Ссылка на katotped.nrec",
percfs: double "Процент первого сорта,%",
tlost : double "Технические потери,%",
fdec: double "Первая декада",
sdec: double "Вторая декада",
tdec: double "Третья декада"
)
with index
(
ppspec01 =cpptitle,
ppspec02 =npp,
ppspec03 =cppkatstan,
ppspec04 =cotped,
ppspec05 =percfs+tlost,
ppspec06 =fdec+sdec+tdec
);
UPDATE x$files WHERE xf$code = 32506 SET xf$checksum = 0;
alter table ppspec
foreign key ppspec01
references pptitle
primary key pptitleid;
alter table ppspec
foreign key ppspec03
references ppkatstan
primary key ppkatstanid;
alter table ppspec
foreign key ppspec04
references katotped
primary key KATOTPED01;
При создании последней таблицы выдаётся ошибка:
"Ошибка: Ошибка при создании таблицы "PPSPEC". Код таблицы = 311 : "Ошибка выполнения [311]"." Что бы это могло значить?