Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Oracle > Триггер


Автор: Mewer 11.6.2008, 17:17
Итак имеется ТАБЛИЦА1 с ключевым полем ИД , триггер должен реагировать на удаление из ТАБЛИЦА1, удаляя поля из таблиц 2 и 3 с с такими же ИД. smile 

Автор: LSD 11.6.2008, 17:34
И что не получается?

Автор: Mewer 11.6.2008, 17:39
нет, не ясна структура триггеров; хочу разобратьсяна примере smile , читал, но конкретно ничего не понял smile 

Автор: Mewer 11.6.2008, 20:33
Может кто поможет а? smile 

Автор: LSD 12.6.2008, 20:51
Идешь http://www.firststeps.ru/sql/oracle/ и читаешь, вначале про PL/SQL, потом про триггеры.

Автор: Mewer 14.6.2008, 10:27
Это я давно уже прочитал; необходим пример работы в триггере с несколькими таблицами smile  smile 

Автор: Mewer 14.6.2008, 10:54
Код

CREATE OR REPLACE TRIGGER OnDel
BEFORE DELETE
ON Table1
REFERENCING NEW AS New OLD AS Old
FOR EACH ROW
BEGIN
  delete from Table2 where id= OLD.id;
 
END;
/



пытаюсь удалить из таблицы 2 запись с тем же ид, что и удаляемая запись из Таблицы1...
что я делаю не так? smile 

Автор: Hvoin 14.6.2008, 11:35
Создаем таблицы
Код

Create table_1(id number,name varchar(20))
Create table_2(id number,name varchar(20))
Create table_2(id number,name varchar(20))


Создаем тригер
Код

CREATE OR REPLACE TRIGGER Delet_rows
    AFTER Delete ON Table_1
    FOR EACH ROW
    
DECLARE

BEGIN
    
Delete from table_2 where :old.id=table_2.id;    
Delete from table_3 where :old.id=table_3.id;
    
END Delete_rows;
/


Автор: Mewer 14.6.2008, 12:06
Огромное спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)