|
Тема |
Re: MSSQL update trigger проблем [re: devnul] |
|
Автор |
Wolfheart (Day-dreamer) |
|
Публикувано | 17.01.06 20:21 |
|
|
Та значи и аз се сблъсках със следния проблем - как да намеря съответстващите записи в inserted и updated таблиците при UPDATE TRIGGER. И направих следното:
В тригера използвах два курсора - за inserted и updated таблицата. И двата ги обхождам паралелно в един цикъл. Интересно, че при всяко обхождане и FETCH-ване на данните излизат съответстващите записи.
DECLARE delete_cursor CURSOR LOCAL FAST_FORWARD FOR SELECT blablabla FROM DELETED
DECLARE insert_cursor CURSOR LOCAL FAST_FORWARD FOR SELECT blablabla2
FROM INSERTED
OPEN delete_cursor
OPEN insert_cursor
FETCH NEXT FROM delete_cursor INTO
@blablabla
FETCH NEXT FROM insert_cursor INTO
@blablabla2
WHILE @@FETCH_STATUS = 0 BEGIN
--- do something
END
FETCH NEXT FROM delete_cursor INTO
@blablabla
FETCH NEXT FROM insert_cursor INTO
@blablabla2 END
CLOSE delete_cursor
CLOSE insert_cursor
DEALLOCATE delete_cursor
DEALLOCATE insert_cursor
END
Потърсих MSDN-а, потърсих и Google-то и никъде не пишеше, че двете таблици са задължително симетрични. Интересно случайно ли се получава да излизат съответстващите записи при всяко FETCH-ване на двете таблици
|
| |
|
|
|