Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 опять про триггеры  [new]
brauncomm
Member

Откуда:
Сообщений: 8
можно ли триггер повесить на событие ДО ? Т.е. например у меня триггер на delete, я хочу сделать кое-какие действия до этого события. А то After, for, instead of есть в доке, а before нет. Почему?

И вообще как решаются проблемы типа:
таблица Ideas (IdeaID...)
таблица UserFavorites(..., IdeaID,...)
Ключ есть, удаление cascade поставить нельзя (зациклится, т.к. есть ещё связи), поле not null (set null не поставишь)...
1 янв 10, 23:34    [8143222]     Ответить | Цитировать Сообщить модератору
 Re: опять про триггеры  [new]
ё
Guest
brauncomm
...
А то After, for, instead of есть в доке, а before нет. Почему?
...

After, for - эта - вроди как одно и то же и есть

а это чиво вам такое?
instead of
напишите письмо БГ (НЕ Гребеньщикову), пусть добавит для instead of синоним before
1 янв 10, 23:44    [8143228]     Ответить | Цитировать Сообщить модератору
 Re: опять про триггеры  [new]
brauncomm
Member

Откуда:
Сообщений: 8
вообще-то instead of - это вместо, а не до. Т.е. сама команда не будет выполнена
2 янв 10, 12:59    [8143477]     Ответить | Цитировать Сообщить модератору
 Re: опять про триггеры  [new]
ё
Guest
brauncomm
вообще-то instead of - это вместо, а не до. Т.е. сама команда не будет выполнена


ну и for - не совсем after в смысле перевода

...а что вы тогда вкладываете в смысл before?

К сообщению приложен файл. Размер - 0Kb
2 янв 10, 13:08    [8143485]     Ответить | Цитировать Сообщить модератору
 Re: опять про триггеры  [new]
jekaSQL
Member

Откуда: Бабруйск
Сообщений: 596
before триггеров в sqlserver нету. Используйте instead of.
2 янв 10, 13:28    [8143503]     Ответить | Цитировать Сообщить модератору
 Re: опять про триггеры  [new]
ё
Guest
jekaSQL
before триггеров в sqlserver нету. Используйте instead of.


jekaSQL,

вижу вы человек знающий
подскажите, а где они ("before триггеров") есть?
и чем отличаются от МССКЛ-ных instead of?
2 янв 10, 14:09    [8143550]     Ответить | Цитировать Сообщить модератору
 Re: опять про триггеры  [new]
.+-
Guest
ну например в Оракле команда CREATE TRIGGER допускает указание BEFORE
но вообще это скорее отступление от темы, которое больше годится для форума "Сравнение СУБД"
2 янв 10, 14:27    [8143574]     Ответить | Цитировать Сообщить модератору
 Re: опять про триггеры  [new]
jekaSQL
Member

Откуда: Бабруйск
Сообщений: 596
в оракле есть, в DB2 есть, в мускуле есть и в стандарте sql99 есть.
отличия от instead of казалось бы очевидны, можно слазить в оракловскую доку и почитать, если есть желание.
2 янв 10, 14:30    [8143579]     Ответить | Цитировать Сообщить модератору
 Re: опять про триггеры  [new]
ё
Guest
.+-, jekaSQL
Спасибо!

разница действительно существенная...
начинаю разделять недоумение ТС ))) - "...а before нет. Почему?"
действительно - почему?
2 янв 10, 15:00    [8143615]     Ответить | Цитировать Сообщить модератору
 Re: опять про триггеры  [new]
ё
Guest
ё
...
разница действительно существенная...
начинаю разделять недоумение ТС ))) - "...а before нет. Почему?"
действительно - почему?


насколько понимаю, всё то же что в before, можно сделать через instead of (и намного больше)
но уж как-то несоизмеримо больше "телодвижений")) надо при этом сделать...

а нет их, видимо, из-за невозможности править "таблицы" inserted/deleted
2 янв 10, 15:31    [8143655]     Ответить | Цитировать Сообщить модератору
 Re: опять про триггеры  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
jekaSQL
в оракле есть, в DB2 есть, в мускуле есть и в стандарте sql99 есть.
отличия от instead of казалось бы очевидны, можно слазить в оракловскую доку и почитать, если есть желание.
Между прочим, в ANSI SQL есть и триггеры INSTEAD OF.
А в Oracle они есть?
2 янв 10, 15:59    [8143713]     Ответить | Цитировать Сообщить модератору
 Re: опять про триггеры  [new]
jekaSQL
Member

Откуда: Бабруйск
Сообщений: 596
iap
Между прочим, в ANSI SQL есть и триггеры INSTEAD OF.
А в Oracle они есть?

В оракле они есть :-)
А вот в 99-ом стандарте чета я их не нашел... А других под рукой нема :-(
2 янв 10, 16:32    [8143741]     Ответить | Цитировать Сообщить модератору
 Re: опять про триггеры  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
jekaSQL
iap
Между прочим, в ANSI SQL есть и триггеры INSTEAD OF.
А в Oracle они есть?

В оракле они есть :-)
А вот в 99-ом стандарте чета я их не нашел... А других под рукой нема :-(
ANSI SQL 2008.
Сам стандарт, как ни странно, доступен только за деньги (!).
Но на сайтах производителей SQL серверов (кстати. у Microsoft я не нашёл ничего похожего)
имеются статьи, описывающие нововведения последнего стандарта.
Посмотрите, например, здесь или здесь (T213)
Это первое, что находит Google по фразе "ANSI SQL 2008"
2 янв 10, 17:13    [8143783]     Ответить | Цитировать Сообщить модератору
 Re: опять про триггеры  [new]
jekaSQL
Member

Откуда: Бабруйск
Сообщений: 596
Уважаемый jap, всё это конечно хорошо, но, боюсь, ценость всех этих стандартов (по крайней мере для меня) близка к ценности Полного собрания сочинений В. И. Ленина. На полке красиво, а в реальной жизни никчему. Но иметь приятно, да :)
Если вам вдруг пригодиццо, то 99-тый стандарт почти полностью можно взять тут ftp://ftp.iks-jena.de/pub/mitarb/lutz/standards/sql
2 янв 10, 23:29    [8144259]     Ответить | Цитировать Сообщить модератору
 Re: опять про триггеры  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
jekaSQL
Уважаемый jap, всё это конечно хорошо, но, боюсь, ценость всех этих стандартов (по крайней мере для меня) близка к ценности Полного собрания сочинений В. И. Ленина. На полке красиво, а в реальной жизни никчему. Но иметь приятно, да :)
Если вам вдруг пригодиццо, то 99-тый стандарт почти полностью можно взять тут ftp://ftp.iks-jena.de/pub/mitarb/lutz/standards/sql
Про стандарты первым заговорил не я
Спасибо за ссылку. Вот тоже про это: BNF Grammars for SQL-92, SQL-99 and SQL-2003
3 янв 10, 11:41    [8144584]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить