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

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

А если речь идёт об MS SQL, так там INSTEAD OF триггера используются тупо из-за отсутствия
BEFORE триггеров. Этакий проктостоматологический обход missed feature.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
09.12.2011, 00:08
    #37566445
Макс85
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отличие обычных триггеров от INSTEAD OF
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
09.12.2011, 01:39
    #37566521
locky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отличие обычных триггеров от INSTEAD OF
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
09.12.2011, 02:15
    #37566533
Макс85
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отличие обычных триггеров от INSTEAD OF
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
09.12.2011, 17:40
    #37568008
locky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отличие обычных триггеров от INSTEAD OF
Макс85lockyпропущено...

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

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

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

Что особенно забавно, BOL с тобой не согласен...
Posted via ActualForum NNTP Server 1.5
Да, совершенно несогласен БОЛ.
Вот прямо так и пишет:
авторГлавное преимущество триггеров INSTEAD OF в том, что они позволяют поддерживать обновления для таких представлений, которые обновлять невозможно.
...
Рейтинг: 0 / 0
10.12.2011, 13:56
    #37568849
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отличие обычных триггеров от INSTEAD OF
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
10.12.2011, 16:02
    #37568947
locky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отличие обычных триггеров от INSTEAD OF
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
10.12.2011, 16:39
    #37568967
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отличие обычных триггеров от INSTEAD OF
lockyИли ты перекладываешь проверки на скуль - и тогда играешь по его правилам
Или ты перекладываешь проверки на себя - и тогда всё делаешь сам
А проверить данные до того как отдать их во власть моих триггеров скулю не позволяет
гордость, однозначно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
10.12.2011, 16:47
    #37568976
В смысле
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отличие обычных триггеров от INSTEAD OF
Dimitry SibiryakovlockyИли ты перекладываешь проверки на скуль - и тогда играешь по его правилам
Или ты перекладываешь проверки на себя - и тогда всё делаешь сам
А проверить данные до того как отдать их во власть моих триггеров скулю не позволяет
гордость, однозначно.
Posted via ActualForum NNTP Server 1.5
В смысле, а после триггера ещё раз проверить данные?
...
Рейтинг: 0 / 0
10.12.2011, 16:53
    #37568981
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отличие обычных триггеров от INSTEAD OF
В смыслеа после триггера ещё раз проверить данные?
А после-то зачем? Там они уже не во вьюхе, а в таблицах, у которых свои констрейны.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
10.12.2011, 19:19
    #37569077
locky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отличие обычных триггеров от INSTEAD OF
Dimitry SibiryakovlockyИли ты перекладываешь проверки на скуль - и тогда играешь по его правилам
Или ты перекладываешь проверки на себя - и тогда всё делаешь сам
А проверить данные до того как отдать их во власть моих триггеров скулю не позволяет
гордость, однозначно.
Posted via ActualForum NNTP Server 1.5
Ну, проверил сервер - "всё ок", отдал моему триггеру.
Я в триггере вставил, не то, не туда и не так.
После чего что получается то? "я нашел в скуле баг - он даёт вставить не то"?
...
Рейтинг: 0 / 0
10.12.2011, 19:19
    #37569079
locky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отличие обычных триггеров от INSTEAD OF
Dimitry SibiryakovВ смыслеа после триггера ещё раз проверить данные?
А после-то зачем? Там они уже не во вьюхе, а в таблицах, у которых свои констрейны.
Posted via ActualForum NNTP Server 1.5
Ох.... констренйты то тут причем?
...
Рейтинг: 0 / 0
10.12.2011, 19:27
    #37569088
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отличие обычных триггеров от INSTEAD OF
lockyЯ в триггере вставил, не то, не туда и не так.

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

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

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

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

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


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