Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Добавление в и удаление из таблицы, FoxPro 9, ошибка в триггерах / 4 сообщений из 4, страница 1 из 1
22.06.2007, 20:46
    #34614867
ArksRus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление в и удаление из таблицы, FoxPro 9, ошибка в триггерах
В базе данных есть две таблицы, которые не являются родительскими, но являются дочерними от двух других таблиц:
таблица 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
25.06.2007, 16:33
    #34618063
Рома Б.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление в и удаление из таблицы, FoxPro 9, ошибка в триггерах
Не знаю, как в девятке, а в шестёрке НЕЛЬЗЯ перемещать ЯВНО указатель записи в триггере для изменяемой таблицы, а также изменять содержимое текущей записи. Однако можно сделать это неявно, открыв эту таблицу ещё раз, с опцией AGAIN.
...
Рейтинг: 0 / 0
25.06.2007, 16:41
    #34618099
Sergey Sizov.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление в и удаление из таблицы, FoxPro 9, ошибка в триггерах
Ну, в общем-то, это скорее всего не ошибка в триггере, а ошибка в твоих понятиях о корректности данных в таблицах. То есть тебя информируют о попытке внести в таблицы некорректную, не удовлетворяющую логике триггера, информацию. Кстати, восстановление удаленных записей рассматривается как добавление новой записи с соответствующей реакцией триггера.

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

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

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

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


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