Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / каскадное удаление / 25 сообщений из 35, страница 1 из 2
09.09.2003, 15:33
    #32260121
labanga
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
каскадное удаление
Уважаемые мастера!
Есть 2 таблицы. В одной накладные(ключевое поле - N накладной), а в другой товар(ключевое поле - счетчик) по этим накладным.
По идее, при удалении накладной из одной таблицы, должен удаляться весь товар по этой накладной из другой (у них связь по номеру накладной и каскадное удаление). Но на практике удаление происходит, если одной накладной соответствует только одна запись в таблице с товаром, если 2 и больше, то выдает ошибку (мол, подзапрос вернул более одного значения).
Может кто знает, как с этим бороться.
...
Рейтинг: 0 / 0
09.09.2003, 15:37
    #32260130
sasha_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
каскадное удаление
сделать связь таблиц один-ко-многим
...
Рейтинг: 0 / 0
09.09.2003, 15:38
    #32260132
Varan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
каскадное удаление
Внешний ключ таблицы строк накладных-номер накладной? Если стоит "каскадное удаление" - все должно удаляться. Ты чего-то недоговариваешь.
...
Рейтинг: 0 / 0
09.09.2003, 15:38
    #32260135
Бобер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
каскадное удаление
В подчиненной табле должен быть внешний ключ?Он есть?Организовывать связь по полям со счетчиком вариант плохой!
...
Рейтинг: 0 / 0
09.09.2003, 15:45
    #32260145
Varan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
каскадное удаление
А по какой связи у тебя тогда "Каскадное удаление" стоит?
Я думал по связи "ЗаголовкиНакладной.НомерНакладно=СтрокиНакладной.НомерНакладной".
...
Рейтинг: 0 / 0
09.09.2003, 15:45
    #32260146
labanga
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
каскадное удаление
первичный ключ в таблице с накладными, а внешний ключ в подчиненной таблице по номеру накладной
...
Рейтинг: 0 / 0
09.09.2003, 15:49
    #32260152
Varan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
каскадное удаление
labanga,
Ты нас где-то дезинформируешь. Все должно работать (удалять).
...
Рейтинг: 0 / 0
09.09.2003, 15:52
    #32260160
labanga
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
каскадное удаление
может какая-то фигня в настройках аксэса, потому что и связь есть и каскадное удаление стоит и удаляет, но только если 1 подчиненная запись, а если 2 то выдает ошибку
...
Рейтинг: 0 / 0
09.09.2003, 15:53
    #32260162
Varan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
каскадное удаление
И чего там в ошибке пишет?
...
Рейтинг: 0 / 0
09.09.2003, 15:57
    #32260165
labanga
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
каскадное удаление
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=,<,> or when the subquery is used as an expression
...
Рейтинг: 0 / 0
09.09.2003, 15:59
    #32260167
sasha_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
каскадное удаление
а может у тебя какой триггер висит на этих таблах?
...
Рейтинг: 0 / 0
09.09.2003, 16:00
    #32260169
Varan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
каскадное удаление
Причем тут подзапросы, я чего-то не понял?
...
Рейтинг: 0 / 0
09.09.2003, 16:02
    #32260173
Varan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
каскадное удаление
Может у тебя в запросе не удаление туфта к-н?
...
Рейтинг: 0 / 0
09.09.2003, 16:02
    #32260175
labanga
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
каскадное удаление
да, триггер висит - при удалении из подчиненной таблицы происходит обновление 3-ей таблицы
...
Рейтинг: 0 / 0
09.09.2003, 16:03
    #32260178
Varan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
каскадное удаление
Попробуй руками удалить строчку, у которой есть "подчиненные" и посмотреть, отработает ли каскадное удаление...
...
Рейтинг: 0 / 0
09.09.2003, 16:06
    #32260186
labanga
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
каскадное удаление
так я руками и делаю. когда 1 подчиненная запись, то все работает как нужно, но когда их 2, то выдает ошибку
...
Рейтинг: 0 / 0
09.09.2003, 16:08
    #32260188
sasha_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
каскадное удаление
>при удалении из подчиненной таблицы происходит обновление 3-ей таблицы
так здесь собака и порылась. на этом он и стопорит.
вываливай код, будем думать.
...
Рейтинг: 0 / 0
09.09.2003, 16:09
    #32260190
Varan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
каскадное удаление
Тогда убери этот триггер, и попробуй без него, если отработает - дело в триггере.
...
Рейтинг: 0 / 0
09.09.2003, 16:16
    #32260206
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
каскадное удаление
Да и вообще видимо это в другой форум
...
Рейтинг: 0 / 0
09.09.2003, 16:16
    #32260207
labanga
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
каскадное удаление
убрал триггер и все заработало, но в чем тут дело?
этот триггер обновляет данные в 3-ей таблице.
...
Рейтинг: 0 / 0
09.09.2003, 16:19
    #32260209
sasha_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
каскадное удаление
в чем дело, в чем дело.
В ТРИГГЕРЕ ДЕЛО!!!
...
Рейтинг: 0 / 0
09.09.2003, 16:21
    #32260214
Varan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
каскадное удаление
sasha_1,
Кстати, интересно узнать, что это такое - триггер?
...
Рейтинг: 0 / 0
09.09.2003, 16:22
    #32260217
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
каскадное удаление
Именно в триггере и дело
Который, очевидно, расчитан на удаление только одной строки
Используется там что-нибудь типа Where чтото = (Select ID From Deleted)
...
Рейтинг: 0 / 0
09.09.2003, 16:24
    #32260221
sasha_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
каскадное удаление
>Where чтото = (Select ID From Deleted)
во-во и я о том же.

2 Varan
триггер - енто процедурка такая, которая запускается автоматом после
изменения/удаления данных.
...
Рейтинг: 0 / 0
09.09.2003, 16:25
    #32260224
Varan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
каскадное удаление
Это в каком Аксессе такой прибамбас есть?
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / каскадное удаление / 25 сообщений из 35, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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