2010-06-24 2 views
0

У меня есть две таблицы, которые я хочу синхронизировать при вставке, обновлении или удалении. Могу ли я создать более одного триггера в одной таблице?Я хочу создать больше триггеров в одной таблице

Я уже написал такой код .. но он не работает. Но когда я создаю только один триггер, он работает правильно.

код что-то вроде этого:

CREATE TRIGGER photosinsert ПЕРЕД ВСТАВИТЬ на фото для каждой строки НАЧАТЬ INSERT INTO old_photo SET PhotoID = NEW.photo_id, photo_original = NEW.file_name ; END;

разделитель |

CREATE TRIGGER photosupdate перед обновлением на фотографиях для каждой строки НАЧАТЬ UPDATE old_photo SET photo_original = NEW.file_name ГДЕ PhotoID = NEW.photo_id ; END;

разделитель |

CREATE ТРИГГЕР photosdelete ПЕРЕД DELETE на фотографиях для каждой строки НАЧАТЬ DELETE FROM old_photo ГДЕ PhotoID = OLD.photo_id ; END;


есть решение для этого, пожалуйста?

ответ

0

Вставьте весь код в один триггер.
Вы можете использовать несколько операторов между BEGIN и END

+0

Спасибо Nakti, я попытался это сделать, но он не работает. Но я нашел решение .. все, что я сделал это удаление разделителей и начало, конец код будет так: CREATE TRIGGER photosinsert ПЕРЕД вставки на фото для каждой строки INSERT INTO old_photo SET PhotoID = NEW.photo_id, photo_original = NEW.file_name; CREATE TRIGGER photosupdate ПЕРЕД ОБНОВЛЕНИЕМ ФОТО ДЛЯ КАЖДОГО ОБНОВЛЕНИЯ ROW old_photo SET photo_original = NEW.file_name WHERE PhotoID = NEW.photo_id; CREATE TRIGGER photodelete ПЕРЕД УДАЛЕНИЕМ НА ФОТОГРАФИИ ДЛЯ КАЖДОЙ ROW УДАЛИТЬ ИЗ old_photo WHERE PhotoID = OLD.photo_id; –

Смежные вопросы