Описание ссылочной целостности в словаре Галактики

Приемы и подходы, обмен опытом

Модераторы: Screw, larin

Ответить
Аватара пользователя
Magic
топ-софт
Сообщения: 35
Зарегистрирован: Вт, 20/11/2007 10:30
Имя Фамилия: Роман Тищенко
Откуда: Галактика-Украина
Контактная информация:

Описание ссылочной целостности в словаре Галактики

Сообщение Magic »

Поставили передо мной задачу добавить еще несколько уровней аналитики для одного из наших клиентов.

Докомпилировал словарь, добавил табличку:

Код: Выделить всё

Set type
(
  tExTabKau = Array[1..9] of Word,   // привязанные таблицы для доп.КАУ
  tExGetKau = Array[1..9] of tKodKAU // привязанные к записи коды доп.КАУ
);

Create Table D_UKR.ExBuhSchet "Доп.аналитики по счетам бух.учета"
  Using "ExBuhSch.dat"
  With Table_CODE = 32100
  With Replace
  With TableOptions Branched
(
  NRec      : tNRec         "Номер записи",
  cBuhSchet : ref(BuhSchet) "Ссылка на счет",
  KodTable  : tExTabKau     "Коды групп доп.КАУ"
)
With Index
(
  ExBuhSchet01 = NRec(Unique, Surrogate, Journal),
  ExBuhSchet02 = cBuhSchet(Unique)
);
Одной записи в таблице BuhSchet будет соответствовать только одна запись в таблице ExBuhSchet. При удалении записи в таблице BuhSchet необходимо удалить запись и в таблице ExBuhSchet. Есть ли возможность описать ссылочную целостность так, чтобы удаление записи в таблице ExBuhSchet при удалении связанной с ней записи в таблице BuhSchet выполнялось автоматически? Вылавливать все интерфейсы, где может выполняться удаление из таблицы BuhSchet и докомпилировать их с целью ручного удаления записи в таблице ExBuhSchet представляется довольно проблематичным (таких таблиц будет несколько, и если с BuhSchet отловить все удаления
сравнительно несложно, то с таблицей Oborot уже гораздо сложнее).

P.S.Попробовал описать ссылочную целостность так:

Код: Выделить всё

alter table ExBuhSchet
  foreign key ExBuhSchet02
  references BuhSchet
  primary key BuhSchet01
  restrict;
Эффект получился несколько не такой, как нужно - теперь система просто не дает удалить запись из таблицы BuhSchet в случае, если на нее ссылается таблица ExBuhSchet.
cruger
топ-софт
Сообщения: 566
Зарегистрирован: Пт, 21/09/2007 15:19
Имя Фамилия: Фёдор Терсин
Откуда: Галактика Софт
Контактная информация:

Re: Описание ссылочной целостности в словаре Галактики

Сообщение cruger »

Каскадного удаления нет.
Недавно пытались начать работы по доработкам ссылоной целостности. Был там пункт и про каскадное удаление. Но дело загнулось из-за нехватки аналитических ресурсов.
Ответить