powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Отличие обычных триггеров от INSTEAD OF
25 сообщений из 67, страница 1 из 3
Отличие обычных триггеров от INSTEAD OF
    #37566357
Макс85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите в чем отличие обычных триггеров от INSTEAD OF и почему бы всегда не применять обычные?
Почитал про них, никаких отличий.
http://msdn.microsoft.com/ru-ru/library/ms175089.aspx
...
Рейтинг: 0 / 0
Отличие обычных триггеров от INSTEAD OF
    #37566373
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BOLОбычно триггер INSTEAD OF INSERT определяется в представлении для вставки данных в одну или несколько базовых таблиц.
...
Рейтинг: 0 / 0
Отличие обычных триггеров от INSTEAD OF
    #37566417
Макс85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257BOLОбычно триггер INSTEAD OF INSERT определяется в представлении для вставки данных в одну или несколько базовых таблиц.
Это и есть её основное отличие?
Просто выглядит как совет по использованию, а не основное отличие.
...
Рейтинг: 0 / 0
Отличие обычных триггеров от INSTEAD OF
    #37566429
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Отличие обычных триггеров от INSTEAD OF
    #37566442
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Макс85почему бы всегда не применять обычные?

Потому что некоторым людям не нужно чтобы движок СУБД делал то, что он обычно делает при DML.

А если речь идёт об MS SQL, так там INSTEAD OF триггера используются тупо из-за отсутствия
BEFORE триггеров. Этакий проктостоматологический обход missed feature.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Отличие обычных триггеров от INSTEAD OF
    #37566445
Макс85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovМакс85почему бы всегда не применять обычные?

Потому что некоторым людям не нужно чтобы движок СУБД делал то, что он обычно делает при DML.

А если речь идёт об MS SQL, так там INSTEAD OF триггера используются тупо из-за отсутствия
BEFORE триггеров
. Этакий проктостоматологический обход missed feature.
Posted via ActualForum NNTP Server 1.5
Ааа, вот оно че Михалыч

Т.е. если общо от BEFORE то что до DML, AFTER то что после DML, а INSTEAD OF то что вместо. Т.е. пользовательский DML вообще не проходит, из него можно только самому значения дёргать.
...
Рейтинг: 0 / 0
Отличие обычных триггеров от INSTEAD OF
    #37566521
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovМакс85почему бы всегда не применять обычные?

Потому что некоторым людям не нужно чтобы движок СУБД делал то, что он обычно делает при DML.

А если речь идёт об MS SQL, так там INSTEAD OF триггера используются тупо из-за отсутствия
BEFORE триггеров. Этакий проктостоматологический обход missed feature.
Posted via ActualForum NNTP Server 1.5
Вообще говоря instead of более функционален, нежели before, но before в качестве before всё-таки проще использовать, нежели instead в качестве before
...
Рейтинг: 0 / 0
Отличие обычных триггеров от INSTEAD OF
    #37566533
Макс85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
lockyDimitry Sibiryakovпропущено...

Потому что некоторым людям не нужно чтобы движок СУБД делал то, что он обычно делает при DML.

А если речь идёт об MS SQL, так там INSTEAD OF триггера используются тупо из-за отсутствия
BEFORE триггеров. Этакий проктостоматологический обход missed feature.
Posted via ActualForum NNTP Server 1.5
Вообще говоря instead of более функционален, нежели before, но before в качестве before всё-таки проще использовать, нежели instead в качестве before
А в чем именно он более функционален, помимо того что пользовательский DML не исполняется?
...
Рейтинг: 0 / 0
Отличие обычных триггеров от INSTEAD OF
    #37568008
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Макс85lockyпропущено...

Вообще говоря instead of более функционален, нежели before, но before в качестве before всё-таки проще использовать, нежели instead в качестве before
А в чем именно он более функционален, помимо того что пользовательский DML не исполняется?
Вот тем что пользовательский DML не выполняется - это уже большой плюс.
В некоторых ситуациях.
...
Рейтинг: 0 / 0
Отличие обычных триггеров от INSTEAD OF
    #37568497
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovА если речь идёт об MS SQL, так там INSTEAD OF триггера используются тупо из-за отсутствия
BEFORE триггеров. Этакий проктостоматологический обход missed feature.

Ключевое слово для INSTEAD OF триггера, это VIEW. Comprenez-vous, mon ami?
...
Рейтинг: 0 / 0
Отличие обычных триггеров от INSTEAD OF
    #37568527
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinКлючевое слово для INSTEAD OF триггера, это VIEW.

Что особенно забавно, BOL с тобой не согласен...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Отличие обычных триггеров от INSTEAD OF
    #37568669
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovpkarklinКлючевое слово для INSTEAD OF триггера, это VIEW.

Что особенно забавно, BOL с тобой не согласен...
Posted via ActualForum NNTP Server 1.5
Да, совершенно несогласен БОЛ.
Вот прямо так и пишет:
авторГлавное преимущество триггеров INSTEAD OF в том, что они позволяют поддерживать обновления для таких представлений, которые обновлять невозможно.
...
Рейтинг: 0 / 0
Отличие обычных триггеров от INSTEAD OF
    #37568849
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyГлавное преимущество триггеров INSTEAD OF в том, что они позволяют поддерживать обновления
для таких представлений, которые обновлять невозможно.

Гораздо смешнее ситуация с VIEW, который обновлять таки можно:
INSTEAD OF triggers are not allowed on updateable views WITH CHECK OPTION.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Отличие обычных триггеров от INSTEAD OF
    #37568947
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovlockyГлавное преимущество триггеров INSTEAD OF в том, что они позволяют поддерживать обновления
для таких представлений, которые обновлять невозможно.

Гораздо смешнее ситуация с VIEW, который обновлять таки можно:
INSTEAD OF triggers are not allowed on updateable views WITH CHECK OPTION.
Posted via ActualForum NNTP Server 1.5
Ну почему - "смешнее"?
Или ты перекладываешь проверки на скуль - и тогда играешь по его правилам
Или ты перекладываешь проверки на себя - и тогда всё делаешь сам
...
Рейтинг: 0 / 0
Отличие обычных триггеров от INSTEAD OF
    #37568967
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyИли ты перекладываешь проверки на скуль - и тогда играешь по его правилам
Или ты перекладываешь проверки на себя - и тогда всё делаешь сам
А проверить данные до того как отдать их во власть моих триггеров скулю не позволяет
гордость, однозначно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Отличие обычных триггеров от INSTEAD OF
    #37568976
В смысле
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovlockyИли ты перекладываешь проверки на скуль - и тогда играешь по его правилам
Или ты перекладываешь проверки на себя - и тогда всё делаешь сам
А проверить данные до того как отдать их во власть моих триггеров скулю не позволяет
гордость, однозначно.
Posted via ActualForum NNTP Server 1.5
В смысле, а после триггера ещё раз проверить данные?
...
Рейтинг: 0 / 0
Отличие обычных триггеров от INSTEAD OF
    #37568981
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В смыслеа после триггера ещё раз проверить данные?
А после-то зачем? Там они уже не во вьюхе, а в таблицах, у которых свои констрейны.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Отличие обычных триггеров от INSTEAD OF
    #37569077
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovlockyИли ты перекладываешь проверки на скуль - и тогда играешь по его правилам
Или ты перекладываешь проверки на себя - и тогда всё делаешь сам
А проверить данные до того как отдать их во власть моих триггеров скулю не позволяет
гордость, однозначно.
Posted via ActualForum NNTP Server 1.5
Ну, проверил сервер - "всё ок", отдал моему триггеру.
Я в триггере вставил, не то, не туда и не так.
После чего что получается то? "я нашел в скуле баг - он даёт вставить не то"?
...
Рейтинг: 0 / 0
Отличие обычных триггеров от INSTEAD OF
    #37569079
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovВ смыслеа после триггера ещё раз проверить данные?
А после-то зачем? Там они уже не во вьюхе, а в таблицах, у которых свои констрейны.
Posted via ActualForum NNTP Server 1.5
Ох.... констренйты то тут причем?
...
Рейтинг: 0 / 0
Отличие обычных триггеров от INSTEAD OF
    #37569088
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyЯ в триггере вставил, не то, не туда и не так.

Например?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Отличие обычных триггеров от INSTEAD OF
    #37569103
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovlockyЯ в триггере вставил, не то, не туда и не так.

Например?
Posted via ActualForum NNTP Server 1.5
например с вит чек написано, мол where code = '10'
а я в своем триггере вставляю code = '20'
и всё - нарушение, вроде бы как.
...
Рейтинг: 0 / 0
Отличие обычных триггеров от INSTEAD OF
    #37569112
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyа я в своем триггере вставляю code = '20'
и всё - нарушение, вроде бы как.
Вставляешь куда? Если в view где написано where code = '10' - да, нарушение и баг. А если
в таблицу - никакого нарушения. На таблице же нет with check option.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Отличие обычных триггеров от INSTEAD OF
    #37569127
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovlockyа я в своем триггере вставляю code = '20'
и всё - нарушение, вроде бы как.
Вставляешь куда? Если в view где написано where code = '10' - да, нарушение и баг. А если
в таблицу - никакого нарушения. На таблице же нет with check option.
Posted via ActualForum NNTP Server 1.5
на таблице - нету
зато на вью - есть
откуда возникает вопрос - а нахрена там этот опшн нужен, если он не соблюдается?

бтв, вставка то она по любому в таблицу идёт
...
Рейтинг: 0 / 0
Отличие обычных триггеров от INSTEAD OF
    #37569144
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyзато на вью - есть
откуда возникает вопрос - а нахрена там этот опшн нужен, если он не соблюдается?

Ну так во вью ты и не вставляешь неправильных значений. У тебя же нет запроса insert into
view (code) values ('20').
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Отличие обычных триггеров от INSTEAD OF
    #37569556
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovА проверить данные до того как отдать их во власть моих триггеров скулю не позволяет гордость, однозначно.

А что за идиотизм проверять данные до триггеров? Скажем, простая ситуация: триггер заполняет поле pk. Вы таки правда утверждаете, что перед этим запись должна быть отбита по check not null?
...
Рейтинг: 0 / 0
25 сообщений из 67, страница 1 из 3
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Отличие обычных триггеров от INSTEAD OF
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]