Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Triger on insert
|
|||
|---|---|---|---|
|
#18+
Как я понимаю записи в таблицу добавляются последовательно. Вообщем такой пердамонокль получается. Есть таблица - хроника. Управление ведется через нее. Добавляем в нее записи, а чере тригер уже проверяем и управляем. кусок текста тригера Declare @HEADID int Select @HEADID = HeadID FROM INSERTED IF (Select Status from table1 where id = @HeadID ) > 0 BEGIN RAISERROR 59001'Заявка еще получена до конца' ROLLBACK TRANSACTION RETURN END ..... EXEC .... DECLARE CURSOR CLOSE DEALLOCATE .... Update table1 set Status = 1 where id = @HeadID Общий смысл, что бы из одной строки две не получилось. А вот сегодня поимел такой результат Хроника ID UserID HeadID PlaceID DataFull ----------- ----------- ----------- ----------- --------------------------- 110457 16 8572 30 2002-02-06 15:13:50.773 110458 25 8572 30 2002-02-06 15:13:50.833 (2 row(s) affected) Результат две строки ID DocDataFull ZakazID ----------- --------------------------- ----------- 41544 2002-02-06 15:13:50.783 8572 41545 2002-02-06 15:13:51.047 8572 (2 row(s) affected) Система. PIII 733 3*128 IBM 18 SCSI SQL 7.0 moth. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2002, 05:57 |
|
||
|
Triger on insert
|
|||
|---|---|---|---|
|
#18+
Cудя по различию времени в одну секунду, вставилась одна строка два раза. Значит ошибка в триггере. Чтобы подобного не случилось поставьте ограничение UNIQUE. Если заказчик заказывает несколько раз то используйте составной ключ из ZakazID и ID. Вот у меня другая проблема с триггерами. Я написал триггеры типа INSERT и Delete, работают нормально при вставке строк по запросу. А вот при репликации SnapShot не работает. Может знает кто в чем дело? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2002, 06:46 |
|
||
|
Triger on insert
|
|||
|---|---|---|---|
|
#18+
Смотрим чуть внимательнее... в итоге две разные строки. ID DocDataFull ZakazID UserID ----------- --------------------------- ----------- ------ 41544 2002-02-06 15:13:50.783 8572 16 41545 2002-02-06 15:13:51.047 8572 25 Проблема в кешировании скорее всего. Вылечил Update Table1 WITH (ROWLOCK) Set status = 1 Where ID = @HeadID Неделю буду ждать повтора. Индекс то что надо. Но дело в принципе. Как такое может быть??? Moth. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2002, 07:20 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32022274&tid=1824041]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
2ms |
| others: | 227ms |
| total: | 344ms |

| 0 / 0 |
