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


Автор: zav74 26.8.2011, 12:36
Есть ли возможность написания триггера, который бы при определенных условиях откатывал транзакцию? То есть был бы instead of.

Автор: Akina 26.8.2011, 13:18
Хм... вряд ли...
Хотя это можно организовать записью не в боевую, а в промежуточную таблицу, а триггер при НЕвыполнении этих самых условий кпирует данные в основную. 
А промежуточную периодически чистить... правда, здесь выползут другие проблемы.

Автор: zav74 26.8.2011, 14:05
Akina, 
Какую-то логику включить можно в before и в большинстве случаев это сработает, но в Microsoft SQL Server был триггер "вместо", хотя сейчас вроде и у них этого не стало. В ряде случаев был очень удобный инструмент. Почему от него отказываются?  

Автор: skyboy 26.8.2011, 15:14
почему? http://msdn.microsoft.com/en-us/library/ms189799.aspx по сей день.
но не в MySQL. 
как-то озвучивалась идея для предотвращения дальнейшей обработки возбуждать ошибку/исключение в триггере. но уверенности в своих словах не имею.

Автор: zav74 26.8.2011, 15:26
skyboy, 
Ну да, вроде у них это осталось. 

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