|
|
|
Добавление в и удаление из таблицы, FoxPro 9, ошибка в триггерах
|
|||
|---|---|---|---|
|
#18+
В базе данных есть две таблицы, которые не являются родительскими, но являются дочерними от двух других таблиц: таблица 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" соответственно). Во-вторых, не работает восстановление удалённых записей. Когда восстанавливаешь (снимаешь метку удалённой записи) вылазит таже ошибка. Чем это может быть вызвано? Как исправить? Заранее спасибо за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2007, 20:46 |
|
||
|
Добавление в и удаление из таблицы, FoxPro 9, ошибка в триггерах
|
|||
|---|---|---|---|
|
#18+
Не знаю, как в девятке, а в шестёрке НЕЛЬЗЯ перемещать ЯВНО указатель записи в триггере для изменяемой таблицы, а также изменять содержимое текущей записи. Однако можно сделать это неявно, открыв эту таблицу ещё раз, с опцией AGAIN. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2007, 16:33 |
|
||
|
Добавление в и удаление из таблицы, FoxPro 9, ошибка в триггерах
|
|||
|---|---|---|---|
|
#18+
Ну, в общем-то, это скорее всего не ошибка в триггере, а ошибка в твоих понятиях о корректности данных в таблицах. То есть тебя информируют о попытке внести в таблицы некорректную, не удовлетворяющую логике триггера, информацию. Кстати, восстановление удаленных записей рассматривается как добавление новой записи с соответствующей реакцией триггера. Потому напрашивается такой план действий: 1. Разобраться со структурой и значением информации в таблицах и с логикой, заложенной в триггерах. 2. Найти и устранить в своих данных все несоответствия пункту 1. И впредь, при такой реакции триггера в первую очередь искать ошибки в данных, а только потом в логике самого триггера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2007, 16:41 |
|
||
|
Добавление в и удаление из таблицы, FoxPro 9, ошибка в триггерах
|
|||
|---|---|---|---|
|
#18+
Не знаю, как в девятке, а в шестёрке НЕЛЬЗЯ перемещать ЯВНО указатель записи в триггере для изменяемой таблицы, а также изменять содержимое текущей записи. Однако можно сделать это неявно, открыв эту таблицу ещё раз, с опцией AGAIN. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2007, 16:42 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=193&tid=1589101]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
21ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 317ms |

| 0 / 0 |
