Не правильное удаление с FOREIGN KEY
Добавлено: 06 фев 2006, 12:16
Доброго времени суток.
Помогите пожалуйста разобраться с такой проблеммой:
Есть таблица Table1(ID, flag)
id-ключевое поле, flag-грубо говоря булевое(имеет значение либо 'T' либо 'F')
Есть вторая таблица Table2(id, grid, name), где
id-первичный,
grid- связано с Table1(ID) с помощью FOREIGN KEY.
В триггере Table2 перед удалением смотрится значение поля flag таблицы Table1 и если это поле 'T', то удаление разрешается, иначе- ексепшн.
Так вот, если удалять строки в таблице Table2, то все нормально - ексепшн появляется, а вот если удалить строку в таблице Table1, то эта операция удалит строки из подчиненной таблицы(как положенно), и удалится сама, хотя в принципе удалится не должна.
Заранее благодарен за ответ.
Помогите пожалуйста разобраться с такой проблеммой:
Есть таблица Table1(ID, flag)
id-ключевое поле, flag-грубо говоря булевое(имеет значение либо 'T' либо 'F')
Есть вторая таблица Table2(id, grid, name), где
id-первичный,
grid- связано с Table1(ID) с помощью FOREIGN KEY.
В триггере Table2 перед удалением смотрится значение поля flag таблицы Table1 и если это поле 'T', то удаление разрешается, иначе- ексепшн.
Так вот, если удалять строки в таблице Table2, то все нормально - ексепшн появляется, а вот если удалить строку в таблице Table1, то эта операция удалит строки из подчиненной таблицы(как положенно), и удалится сама, хотя в принципе удалится не должна.
Заранее благодарен за ответ.