powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите оптимизировать (изменить) код на MSSQL 2000
4 сообщений из 4, страница 1 из 1
Помогите оптимизировать (изменить) код на MSSQL 2000
    #32018557
Фотография XDefender
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот к примеру кусок кода

DECLARE MYC CURSOR LOCAL FAST_FORWARD
FOR SELECT MovementID FROM ##MovementInWareHouse
OPEN MYC

FETCH NEXT FROM MYC INTO @I
WHILE @@FETCH_STATUS=0
BEGIN


IF EXISTS (select top 1 * from MovementInWareHouse where MovementID=@I)
BEGIN
DELETE from MovementInWareHouse
WHERE MovementID=@I
END

insert into MovementInWareHouse
select top 1 * from ##MovementInWareHouse where MovementID=@I

update TransactionLog
set LastUpdate=LastUpdate | @RemoteServer_ID, LastSinhronized=LastSinhronized | @RemoteServer_ID, TransactionDate=@Data
where ID=@I

FETCH NEXT FROM MYC INTO @I

END -- End While/
CLOSE MYC
DEALLOCATE MYC

END

Как его мне оптимизировать. Насколько я понимаю, создание курсора и его закрытие как-раз и тормозят.
Да, очень важно, чтобы у меня работа с таблицей MovementInWareHouse происходило позаписно, т.к. у меня там висят тригеры, а они правильно работаю только тогда, когда в Inserted or Deleted только одна запись.
...
Рейтинг: 0 / 0
Помогите оптимизировать (изменить) код на MSSQL 2000
    #32018562
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может лучше триггеры переписать?
...
Рейтинг: 0 / 0
Помогите оптимизировать (изменить) код на MSSQL 2000
    #32018564
Фотография XDefender
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше было-бы, чтобы Microsoft в MS SQL ввел позаписные тригеры, т.е. тригеры, где в Inserted/Updatet передается только одна запись, а не множетсво.

А обработка в тригерах у меня сложная и на множества ее никак не спроецируешь. поэтому.....
...
Рейтинг: 0 / 0
Помогите оптимизировать (изменить) код на MSSQL 2000
    #32018567
PeterG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделай в триггерах курсор по таблицам Inserted/Deleted иобрабатывай каждую запись индивидуыльно, раз уж "обработка в тригерах сложная и на множества ее никак не спроецируешь".
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите оптимизировать (изменить) код на MSSQL 2000
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]