Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Referential Integrity: Trigger failed in .. / 8 сообщений из 8, страница 1 из 1
01.06.2005, 17:21:15
    #33095629
Oxygene
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Referential Integrity: Trigger failed in ..
Есть 3 таблицы:

CREATE TABLE TabParent1 (Tab1_ID)
CREATE TABLE TabParent2 (Tab2_ID)
CREATE TABLE TabChild(Tab1_ID, Tab2_ID) - таблица связи:

TabParen1<-TabChild->TabParent2

В Referential Integrity, Rules for Inserting (or Update) = RESTRICT, т.е. по идее я не могу в TabChild добавить строку (или изменить) со значениями которых нет соответственно в TabParent1 и ТаbParent2.. Но в реальности выходит так, что в TabChild вообще невозможно ничего добавить, включая строки со значениями, которые есть в родительских базах!

Insert intto TabChild (Tab1_ID, TAb2_ID) VAlues (1, 2) - Trigger failed in TabChild

Почему так происходит?
...
Рейтинг: 0 / 0
01.06.2005, 17:33:02
    #33095661
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Referential Integrity: Trigger failed in ..
Сразу после того, как команда

INSERT INTO ...

Даст ошибку триггера, должен быть создан глобальный массив gaErrors (он создается в теле триггера)

Посмотри в отладчике его содержимое. Там должно быть написано какая именно связь дала ошибку триггера.

Кстати, какая версия FoxPro?
...
Рейтинг: 0 / 0
01.06.2005, 17:37:49
    #33095673
Oxygene
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Referential Integrity: Trigger failed in ..
Fox 9..
Но ошибка не происходит, если обе parent-таблицы находятся в памяти..
gaErrors ругается так: Alias 'LCPARENTWKAREA' is not found
...
Рейтинг: 0 / 0
01.06.2005, 17:52:59
    #33095720
Oxygene
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Referential Integrity: Trigger failed in ..
Что, так и должно быть??
Вроде для Update не нужно никаких таблиц открывать..
А если я Insert делаю через OleDb, то там как мне открыть таблицы?
...
Рейтинг: 0 / 0
01.06.2005, 22:52:05
    #33096119
Igor Korolyov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Referential Integrity: Trigger failed in ..
Hi Oxygene!

Уже обсуждалось - это ошибка в тексте процедур создаваемых RI Builder-ом - поиском попользуйся тут и на foxclub.ru

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
02.06.2005, 14:36:55
    #33097460
Oxygene
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Referential Integrity: Trigger failed in ..
Спасибо Игорь!
Я так понял, что эта ошибка появляется после генерации триггеров в 9-м фоксе? Сразу появилось желание перейди обратно на 8-й, - стоит ли?
...
Рейтинг: 0 / 0
02.06.2005, 16:12:31
    #33097795
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Referential Integrity: Trigger failed in ..
Не нашел я этого обсужения, хотя помню, что было.

Суть в том, что действительно генериться код триггера с ошибкой. Надо либо после каждой генарции корректировать полученный код (там надо просто скобки добавить), либо подправить исходники генератора триггера.

Все исходники лежат в архиве

HOME()+"\tools\xsource\xsource.zip"

Код генартора триггера написана все на том же FoxPro. Так что, проблем быть не должно.
...
Рейтинг: 0 / 0
02.06.2005, 18:08:55
    #33098146
Oxygene
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Referential Integrity: Trigger failed in ..
Обсуждение здесь:

http://forum.foxclub.ru/read.php?f=5&i=104926&t=104872#reply_104926
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Referential Integrity: Trigger failed in .. / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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