|
|
|
Неадекватный триггер
|
|||
|---|---|---|---|
|
#18+
CREATE TRIGGER InsertSrokIspolnenija_tbl ON SrokIspolnenija_tbl FOR INSERT AS DECLARE @IndexKart DECIMAL(28) -- индекс карточки DECLARE @IndexSrok DECIMAL(28) -- индекс срока исполнения -- получить индексы SELECT @IndexKart = ipSrokIspolnenijaUchetnajaKartochka, @IndexSrok = idSrokIspolnenija FROM Inserted -- print @IndexSrok -- добавить к сроку исполнения еще и дату его установки UPDATE SrokIspolnenija_tbl SET dDataPerenosa = CONVERT(VARCHAR(10), GETDATE(), 104) WHERE ipSrokIspolnenijaUchetnajaKartochka = @IndexKart AND idSrokIspolnenija <> @IndexSrok AND dDataPerenosa IS NULL Проблема в том, что когда print закоментирован, то триггер работает неправильно, добавляется две записи. А в противном случае все работает нормально. В чем закавыка то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2002, 13:18:18 |
|
||
|
Неадекватный триггер
|
|||
|---|---|---|---|
|
#18+
Такой триггер не учитывает возможной вставки в таблицу более одной строки. Есть ли гарантия, что в inserted всегда одна строка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2002, 13:44:48 |
|
||
|
Неадекватный триггер
|
|||
|---|---|---|---|
|
#18+
Триггер НЕ ДОБАВЛЯЕТ записей, а автоматически вызывается ПОСЛЕ вставки записи в таблицу. Сейчас проверил (MS SQL7 + SP3) - PRINT не прерывает выполнение триггера, так что это - непричем. Так что, скорее всего: - глюк клиента - существует триггер FOR UPDATE, который рекурсивно вставляет запись - нужно накатить Service Pack (SP) MS SQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2002, 14:03:00 |
|
||
|
Неадекватный триггер
|
|||
|---|---|---|---|
|
#18+
2 Kilroy Вставляется всегда одна запись. 2 Jimmy триггера на апдейт нет где можно взять SP? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2002, 14:46:06 |
|
||
|
Неадекватный триггер
|
|||
|---|---|---|---|
|
#18+
На сайте M$: http://www.microsoft.com/sql/default.asp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2002, 14:51:14 |
|
||
|
Неадекватный триггер
|
|||
|---|---|---|---|
|
#18+
Sorry А куда добавляется две записи. Из приведенного примера непонятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2002, 15:25:38 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3363&tid=1818234]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
14ms |
get forum data: |
4ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 396ms |

| 0 / 0 |
