12.12.2001, 03:27 | #1 |
Участник
|
Исследование - Как работают разные типы Delete Actions.
Существует 4 типа delete actions:
None, Cascade, Restricted, Cascade+Restricted Из Руководства разработчика Axapta не совсем понятно, как они работают особенно Cascade+Restricted. Как работают эти режимы я проверил на следующих таблицах: Три таблицы: DepartmentTable ManagerID -> EmployeeTable.EmployeeID DepartmentID DepartmentName EmployeeTable CompanyID -> CompanyTable.ID EmployeID EmployeeName DepartmentID -> DepartmentTable.DepartmentID Delete Action DepartmentTable CompanyTable ID Name Delete Action EmployeeTable Т.е. есть таблица компаний (имя компании, идентификатор компании), есть таблица сотрудников различных компаний (имя сотрудника, идентификатор компании в оторой он работает, идентификатор отдела к которому он закреплен и идентификатор отрудника), и есть таблица отделов компаний (название отдела, идентификатор отдела и идентификатор сотрудника его возглавляющего). Дальнейшее усложнение схемы не имеет смысла для данного исследования. 1) EmployeeTable Delete Action DepartmentTable = None CompanyTable Delete Action EmployeeTable = None Результат: удаление записи в любой из таблиц никак не влияет на записи других таблиц. 2) EmployeeTable Delete Action DepartmentTable = None CompanyTable Delete Action EmployeeTable = Cascade Результат: - удаление записи в EmployeeTable не влияет на другие таблицы. - удаление записи в CompanyTable влечет удаление всех связанных записей в EmployeeTable, DepartmentTable без изменений.
__________________
Гурьев Сергей |
|
10.05.2002, 15:46 | #2 |
Участник
|
Привет.
Если установить DA = Restricted, то при выполнении метода <курсор главной таблицы>.validateDelete() будет возвращено значение false, а при выполнении <курсор главной таблицы>.delete() будет удалена запись только главной таблицы. Если установить DA = Cascade + Restricted, то при выполнении метода <курсор главной таблицы>.validateDelete() будет возвращено значение false, а при выполнении <курсор главной таблицы>.delete() будет удалена запись главной таблицы и все связанные записи подчиненной таблицы. |
|
|
|