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

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
06.12.2001, 11:18
    #32018562
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите оптимизировать (изменить) код на MSSQL 2000
Может лучше триггеры переписать?
...
Рейтинг: 0 / 0
06.12.2001, 11:26
    #32018564
XDefender
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите оптимизировать (изменить) код на MSSQL 2000
Лучше было-бы, чтобы Microsoft в MS SQL ввел позаписные тригеры, т.е. тригеры, где в Inserted/Updatet передается только одна запись, а не множетсво.

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


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