powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Добавление в и удаление из таблицы, FoxPro 9, ошибка в триггерах
4 сообщений из 4, страница 1 из 1
Добавление в и удаление из таблицы, FoxPro 9, ошибка в триггерах
    #34614867
ArksRus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В базе данных есть две таблицы, которые не являются родительскими, но являются дочерними от двух других таблиц:
таблица security:
поля:
primary key, name, cost, type, id_client, _date, id_worker
таблица credit:
primary key, ..., id_client, id_worker
поля id_* - ссылки на родителей

триггеры для связей от других таблиц (родительских) к этим двум имееют след. вид:
ignore, restrict, restrict - это триггеры на update, delete и insert соответсвенно.

Проблема в следующем:
Во-первых, когда добавляешь новое значение оно успешно добавляется, но как только пытаешься переместить указатель с добавленного поля на любое другое, так сразу вылазит сообщение об ошибке: "Trigger failed in credit" (или "in security" соответственно).
Во-вторых, не работает восстановление удалённых записей. Когда восстанавливаешь (снимаешь метку удалённой записи) вылазит таже ошибка.
Чем это может быть вызвано? Как исправить?

Заранее спасибо за помощь.
...
Рейтинг: 0 / 0
Добавление в и удаление из таблицы, FoxPro 9, ошибка в триггерах
    #34618063
Рома Б.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не знаю, как в девятке, а в шестёрке НЕЛЬЗЯ перемещать ЯВНО указатель записи в триггере для изменяемой таблицы, а также изменять содержимое текущей записи. Однако можно сделать это неявно, открыв эту таблицу ещё раз, с опцией AGAIN.
...
Рейтинг: 0 / 0
Добавление в и удаление из таблицы, FoxPro 9, ошибка в триггерах
    #34618099
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну, в общем-то, это скорее всего не ошибка в триггере, а ошибка в твоих понятиях о корректности данных в таблицах. То есть тебя информируют о попытке внести в таблицы некорректную, не удовлетворяющую логике триггера, информацию. Кстати, восстановление удаленных записей рассматривается как добавление новой записи с соответствующей реакцией триггера.

Потому напрашивается такой план действий:

1. Разобраться со структурой и значением информации в таблицах и с логикой, заложенной в триггерах.

2. Найти и устранить в своих данных все несоответствия пункту 1.

И впредь, при такой реакции триггера в первую очередь искать ошибки в данных, а только потом в логике самого триггера.
...
Рейтинг: 0 / 0
Добавление в и удаление из таблицы, FoxPro 9, ошибка в триггерах
    #34618100
Рома Б.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не знаю, как в девятке, а в шестёрке НЕЛЬЗЯ перемещать ЯВНО указатель записи в триггере для изменяемой таблицы, а также изменять содержимое текущей записи. Однако можно сделать это неявно, открыв эту таблицу ещё раз, с опцией AGAIN.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Добавление в и удаление из таблицы, FoxPro 9, ошибка в триггерах
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]