Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
где можно найти
|
|||
|---|---|---|---|
|
#18+
Плз подскажите, где можно найти в сети описание принципов работы с триггерами для 6.5, в частнрсти формирование и работа с inserted, deleted. Или опишите сами. Заранее спосибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2001, 02:08 |
|
||
|
где можно найти
|
|||
|---|---|---|---|
|
#18+
Вопрос, по-моему, слишком общий - можно посоветовать почитать books online -там есть и примеры работы с inserted / deleted. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2001, 09:35 |
|
||
|
где можно найти
|
|||
|---|---|---|---|
|
#18+
Если в 2-х словах, то формировать inserted и deleted не надо, они уже есть, когда выполняется триггер. Первая содержит появившиеся записи, вторая - удаленные. А так с этими таблицами можно работать как с обычными. Даже не знаю какие тут могут возникнуть вопросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2001, 10:02 |
|
||
|
где можно найти
|
|||
|---|---|---|---|
|
#18+
А интересует меня вот какие вопросики: В этих таблицах записаны строки последнего запроса или транзакции или же всех выполненных при теущем соединении. Точно не понимаючи как они формируются, смею предположить, что при вставке/изменении и рабочая таблица и inserted должны иметь одинаковые модифицируемые строки. Далее, при удалении, тк триггер выполняется после операции, рабочая таблица не должна уже иметь стертые строки в то время как deleted их содержит. Прошу поправить коли не так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2001, 17:16 |
|
||
|
где можно найти
|
|||
|---|---|---|---|
|
#18+
При Insert в таблицу - в Inserted то, что Insert, в deleted - пусто При Update - в Inserted то, на что изменили, в deleted - что было При Delete в Inserted пусто в deleted - что удалили Inserted и (или) Deleted содержат только те записи, вставка, изменение или удаление которых и вызвала срабатывание триггера. При следуюшей операции все произойдет сначала. В остальном Вы все правильно понимаете. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2001, 17:57 |
|
||
|
где можно найти
|
|||
|---|---|---|---|
|
#18+
Хочу дополнить предыдущий ответ в части транзакций. Не важно, выполняется ли триггер внутри другой транзакции, или в пределах неявной транзакции, которая возникает при любых операция вставки/удаления/модификации. Inserted содержит записи, добавленные в таблицу с момента запуска триггера (а не с момента запуска транзакции). С Deleted - аналогично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2001, 19:23 |
|
||
|
где можно найти
|
|||
|---|---|---|---|
|
#18+
Маленькое дополнение: При "входе" в триггер @@TRANCOUNT++ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2001, 22:36 |
|
||
|
где можно найти
|
|||
|---|---|---|---|
|
#18+
Огромное спасибище всем откликнувшимся на просьбу. Если действительно при удалении строки ее уже нет в рабочей таблице, но она присутствует в deleted, объясните местечко в "ихнем" триггере из онлайновской помощи. Create Trigger Tri_Del_Stores On STORES For DELETE As /* First check the number of rows modified and disallow anybody from deleting more than one store at a time */ If @@RowCount > 1 Begin ROLLBACK TRAN RAISERROR ( `You can delete only one store at a time.', 16, 10 ) End /* declare a temp var to store the store that is being deleted */ Declare @sStorID char(4) /* now get the value of the store being nuked */ ??????????? Select @sStorID = D.STOR_ID From STORES S, DELETED D Where S.STOR_ID = D.STOR_ID ???????????? If exists (Select * From SALES Where STOR_ID = @sStorID ) Begin ROLLBACK TRAN RAISERROR ( `This store cannot be deleted because there are still sales valid in the SALES table.', 16, 10 ) End Go ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2001, 23:32 |
|
||
|
где можно найти
|
|||
|---|---|---|---|
|
#18+
И где ж это написано? Вообще-то фигня конечно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2001, 09:43 |
|
||
|
где можно найти
|
|||
|---|---|---|---|
|
#18+
В "ихнем" - это в чьем? Конечно же, за хвост, да об стену того, кто пишет такие триггеры. Вообще, написание триггеров, оперирующих только с одной строкой говорит о не достаточном профессионализме такого писаки. Не говоря уже о том, что написан он с ошибками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2001, 14:19 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32004884&tid=1826913]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
24ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 313ms |

| 0 / 0 |
