Форум: "Базы";
Текущий архив: 2002.01.21;
Скачать: [xml.tar.bz2];
ВнизDelete from master-detail via stored procedure Найти похожие ветки
← →
Гоша (2001-12-17 10:50) [12]>Tonie:
Ну давай по кусочкам:
1. Связь между запросами прописана кодом на (напр.) событие AfterScroll mast-qry:
- det-qry.Close;
- det-qry.ParamByName("field_i").AsInteger:=mast-qry.FieldByName("field_i").Value;
- det-qry.Open;
2. Запись в БД идет через UpdateSQL (Database.ApplyUpdates([mast-qry,det-qry]);) кроме операции удаления (она выполняется посредством StoredProc.ExecProc;)
3. Про поля для связи см. п.1
4. "Код обработки транзакции ..." ? - не понял, что ты имеешь в виду.
Если запись ИЗМЕНЕНИЙ через ApplyUpdates, то полагаюсь на механизм DataBase.ApplyUpdates, если же запись УДАЛЕНИЯ, то транзакция объявляется в stored proc на сервере.
PS: насчет необязательности писания sp: IMHO код будет гораздо кучерявее:
1) удалить все записи в det-qry (а их неск-ко) и master-запись
2) а потом мудрить с кодом для транзакции подтверждения всех этих изменений в БД (последовательно вызывать ApplyUpdates для всех det-qry, и, если все пройдет, то делать ApplyUpdates для mast-qry)
3) обрабатывая все неожиданности... Стоит оно того ?
Что-нибудь еще ?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.01.21;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.004 c