powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / cursor dynamic scroll ...for update
3 сообщений из 3, страница 1 из 1
cursor dynamic scroll ...for update
    #32010108
olden
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто сталкивался с таким? SQLServer 2000. В таблице 34046 записей. Хочу вставить в определенное поле типа INT инкрементное значение (1,2,3...). Делаю так

declare CUR_FSCORE cursor local dynamic scroll for select PTR from [dbo].[FSCORE] for update

open CUR_FSCORE

declare @PTR1 int
declare @PTR int
set @PTR = 1

fetch first from CUR_FSCORE into @PTR1

while (@@fetch_status<>-1)
begin
update [FSCORE] set ADDR_PTR=@PTR where current of CUR_FSCORE
fetch next from CUR_FSCORE into @PTR1
set @PTR=@PTR+1
end

close CUR_FSCORE
deallocate CUR_FSCORE
GO


выполняю как скрипт в Query Analizer. Доходит до 32793 шага и из цикла WHILE не выходит и до конца записи не отрабатывает (34046). Очень похоже на переполнение переменной SMALLINT, но у меня такой нет
...
Рейтинг: 0 / 0
cursor dynamic scroll ...for update
    #32010117
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да напишите Вы так

declare @PTR int
set @PTR = 1
update [FSCORE] set ADDR_PTR=@PTR, @PTR=@PTR+1

и забудьте про курсоры
...
Рейтинг: 0 / 0
cursor dynamic scroll ...for update
    #32010126
Olden
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
огромнейшее спасибо
век живи - век учись
я предполагал наличе чего-то подобного, но не мог найти пример или описание
может плохо искал
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / cursor dynamic scroll ...for update
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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