Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / вопрос по UPDATE и CURSOR / 4 сообщений из 4, страница 1 из 1
15.05.2002, 12:19
    #32030211
arthur_v
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по UPDATE и CURSOR
Сервер MSSQL70

Ситуация такая, есть таблица с двумя полями

create table1(f1 int null, f2 varchar null)

Мне необходимо получить упорядоченный курсор, который можно было бы обновлять.

Если делаю так

DECLARE CURSOR curs1 FOR
SELECT f1 FROM table1
WHERE f1 IS NOT NULL
FOR UPDATE OF f1

то все хорошо выполняется, но записи там не упорядочены и как только добавляю ORDER BY f2 - все перестает работать.

DECLARE CURSOR curs1 FOR
SELECT f1 FROM table1
WHERE f1 IS NOT NULL
ORDER BY f2
FOR UPDATE OF f1

Вот эта конструкция уже не выполняется. Ошибка: The cursor is READ_ONLY.

Вот и вопрос - что это за ограничение и как его обойти можно?
...
Рейтинг: 0 / 0
15.05.2002, 13:11
    #32030223
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по UPDATE и CURSOR
\ndeclare cCur cursor for
select Id
from Table1
where Id is not null
order by name
for update of Id

open cCur
deallocate cCur


Таблица другая - смысл тоже. У меня все работает. Кстати - коварный вопрос - а зачем через курсор пытаться менять поле для всех записей таблицы ? Может лучше воспользоваться старой доброй UPDATE ? Честно говоря не разу ничего через курсор не менял и даже не представляю, для чего это может понадобиться.
...
Рейтинг: 0 / 0
15.05.2002, 13:50
    #32030233
arthur_v
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по UPDATE и CURSOR
\nКстати - коварный вопрос - а зачем через курсор пытаться менять поле для всех записей таблицы ? Может лучше воспользоваться старой доброй UPDATE ? Честно говоря не разу ничего через курсор не менял и даже не представляю, для чего это может понадобиться.


Я там заполняю поле f1 возрастающим значением (допустим с шагом +1). Как это сделать при помощи UPDATE я не могу сообразить.
...
Рейтинг: 0 / 0
15.05.2002, 14:05
    #32030236
ChA
ChA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по UPDATE и CURSOR
Посмотреть внимательно в BOL описание UPDATE.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / вопрос по UPDATE и CURSOR / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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