powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Trigger
3 сообщений из 3, страница 1 из 1
Trigger
    #32416183
double_axe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите!
Столкнулся с ситуацией. Sybase 5.
Есть 3 таблицы A,B,C. А & B связаны между собой.
В таблице В на Insert,Update,Delete стоят триггеры которые изменяют таблицу С. Когда канкретно меняем В все ок! Но, когда идет каскадное удаление данных (удаляется одна запись в А и связаные с ней в табл. В), то триггер на удаление не срабатывает......
Можно как то решить эту проблему без написания триггера на удаления для табл. А????
...
Рейтинг: 0 / 0
Trigger
    #32416206
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 вопросика:
1. Sybase 5 - это имеется ввиду Sybase Anywhere 5 ?
2. А Вы уверены, что триггер на "B" не срабатывает ? Может быть он вызывается, но в нем просто не правильно отрабатывается код ?

Поясню, куда я клоню - у каскадного удаления (конечно если это Sybase Anywhere) есть небольшая хитрость - срабатывает оно, как триггер AFTER. Соотвествующе когда в дочерних таблицах происходит каскадное удаление, данные в родительской таблице уже для них не существуют. Обойти это можно элементарным образом - отрубить каскадное удаление на таблице "A" и вместо него написать на удаление триггер BEFORE, в котором удалять записи в таблице "B", т.е. фактически самому организовать каскадное удаление.
...
Рейтинг: 0 / 0
Trigger
    #32416378
double_axe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, Sybase SQL Anywhere 5.0
Спасибо. Это я и хотел услышать.
Только касскадное удаление, помоему, можно не отключать, а просто написать триггер с before.
И еще вопрос.
Тогда как лучше организовать каскадное удаление чегез LOOP или
просто delete
from .....
from ......
where ....=....
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Trigger
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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