Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Отмена иструкций INSERT, UPDATE, DELETE в три (GerholdtSchnaps) 01/07/2008 - 01:44:05
      Re: Отмена иструкций INSERT, UPDATE, DELETE в три (Санек) 08/12/2009 - 22:23:14
      Re: Круто, спасибо (Артем) 22/01/2010 - 15:06:37
      Re: Отмена иструкций INSERT, UPDATE, DELETE в три (Михаил) 14/12/2010 - 15:01:36

> Original message text:
> From: GerholdtSchnaps - 01/07/2008 - 01:44:05
> Subject:Отмена иструкций INSERT, UPDATE, DELETE в три
> -----------------
> MySQL 5.0.45 nt-community
>
> Возникла тут у меня необходимость использовать триггеры для пресечения попыток вставить кривые данные в таблицу... по форумам полазил и так ничего не нашел...
> В итоге - пришлось RTFM и пробовать, пробовать и пробовать. И вот что получилось:
>
> -======== Триггер: Before Insert, Before Update, Before Delete =========-
> IF <ConditionToPreventActionSuccess> THEN
> SET @SQLFailureMsg = 'Condition failed';
> KILL QUERY CONNECTION_ID();
> END IF;
>
>
> -======= В роцедуре (например): =========-
> DECLARE CONTINUE HANDLER FOR 1317 BEGIN
> обрабатываем событие "Error: 1317 SQLSTATE: 70100 (ER_QUERY_INTERRUPTED)"
> например, можно вернуть сообщение, хранящееся в этот момент в @SQLFailureMsg
> END;
>
> -====== Замечания: =======-
> 1. В каскадных операциях отменяется только текущая вставка и все последующие.
> Записи, для которых триггер сработал корректно, считаются успешно вставленными.
> 2. "After insert" не срабатывает вообще, потому как считается, что записи уже были вставлены
>
>
> З.Ы. Надеюсь, кому-то инфа окажется полезной.
>


From: Артем - 22/01/2010 - 15:06:37
Subject:Круто, спасибо
-----------------
Спасибо!


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
37766



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |