Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Oracle > CONSTRAINT's, PRIMARY KEY's и FOREGN KEY's |
Автор: firelex 16.12.2003, 11:48 | ||||
Доброго времени суток, всем! Дело происходит в Oracle 9 Такой вопрос: Есть три таблицы:
Причем geo_lake является связующей между country и Lake. Как сделать так, чтобы при удалении страны удалялись автоматически все озера там лежащие --> строки в geo_lake и в Lake? В geo_lake - понятно - надо добавить
А вот как с Lake быть? |
Автор: AntonSaburov 16.12.2003, 13:40 |
Может тогда проще триггер на удаление поставить и в нем удалять из обеих таблиц. |
Автор: Guest 16.12.2003, 14:05 |
Как он ставится? |
Автор: AntonSaburov 16.12.2003, 15:31 | ||||
Ну вообщем-то как и всегда
В качестве примера
Ну а дальше - читайте документацию и пробуйте своими силами. |
Автор: Guest 16.12.2003, 16:55 | ||
Выдает постоянно Warning: Trigger created with compilation errors. Не пойму что неправильно. Таблица child_river существует. |
Автор: AntonSaburov 16.12.2003, 18:47 |
К сожалению на большее моих знаний пока маловато - я не очень много занимался непосредственно PL/SQL. Буквально на днях купил приличную книжку - через дней 20 по плану должен начать ее читать. Вот тогда реально смогу помочь. А пока ![]() |
Автор: VisualCraft 17.12.2003, 22:41 |
Может имя таблицы в конце не нужно или точка с запятой в конце триггера не нравится? В Interbase триггер выглядит примерно так, а как в Оракле не в курсях. /* СМЕНА РАЗДЕЛИТЕЛЯ для хранимых процедур и триггеров */ COMMIT WORK; SET AUTODDL OFF; SET TERM ^; CREATE TRIGGER AD_XTABLE FOR XTABLE ACTIVE AFTER DELETE AS BEGIN INSERT INTO DELETES2 VALUES('S',OLD.CODE); END ^ |