Cursor в SQL 6.5
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Cursor в SQL 6.5 Expand / Collapse
Автор
Сообщение
22.01.2001 14:34
Junior Member

Junior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior Member

участник
Last Login: 09.04.2001 12:04
Сообщ.: 15, Visits: 166
Кто знает как удалить из текущую таблицы запись
которые просматриваю с помощью курсора .
напрнимер

CREATE PROCEDURE shintorg_del_eq AS

DECLARE MyCursor SCROLL
CURSOR FOR SELECT * FROM shintorg_tn_cat ORDER BY n_id_cat FOR UPDATE
DECLARE @a1 int,@a int,@b int,@b1 int
OPEN MyCursor
FETCH NEXT FROM MyCursor INTO @a,@b

WHILE @@FETCH_STATUS=0
BEGIN
FETCH NEXT FROM MyCursor INTO @a1,@b1
IF @a=@a1 and @b=@b1
begin
DELETE FROM shintorg_tn_cat WHERE CURRENT OF MyCursor
end
else FETCH NEXT FROM MyCursor INTO @a,@b
END

CLOSE MyCursor
DEALLOCATE MyCursor
а сервер ругается

Msg 16929, Level 16, State 1
Cursor is read only




Сообщ. #703345
23.01.2001 20:43
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 03.03.2006 19:03
Сообщ.: 1 908, Visits: 21 011
Особо с курсорами не работал, но подозреваю, что если запустить Books online и ввести в строку поиска "cursor is read only", то почти наверняка можно будет разрешить проблему.
Это определение Declare cursor: (T-SQL)
DECLARE cursor_name CURSOR
[LOCAL | GLOBAL]
[FORWARD_ONLY | SCROLL]
[STATIC | KEYSET | DYNAMIC | FAST_FORWARD]
[READ_ONLY | SCROLL_LOCKS | OPTIMISTIC]
[TYPE_WARNING]
FOR select_statement
[FOR UPDATE [OF column_name [,...n]]]
Может быть всякие флаги поменять/указать нужно.

Сообщ. #703402
24.01.2001 12:04
Junior Member

Junior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior Member

участник
Last Login: 09.04.2001 12:04
Сообщ.: 15, Visits: 166
Спасбо я разобрался !
Просто чтобы удалить запись из таблицы в ней должно быть уникальное поле ... а без него
курсор определяется не как SCROLL а INSENSITIVE
и он соответсвенно открыт только для чтения
:)
Сообщ. #703412
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl, Alexey Spirin

Время GMT +3:00, Сейчас 6:02