powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Static Cursor
4 сообщений из 4, страница 1 из 1
Static Cursor
    #32047824
Kalitin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть хранимая процедура
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
CREATE   PROCEDURE UpdateAllAccounts
AS

declare @ip varchar( 23 ), @port smallint, @login varchar( 25 ), @ret int, @fetch_status int

CREATE TABLE #temp (Login varchar( 25 ), IP varchar( 23 ), Port smallint)

DECLARE tables_cursor CURSOR STATIC FOR select Login, IP, Port from ActiveClients
OPEN tables_cursor

FETCH NEXT FROM tables_cursor INTO @login, @ip, @port

WHILE (@@FETCH_STATUS <> - 1 )
begin
	Exec @ret=AccountUpdate @login, @ip, @port,  0 
	if @ret= 1 
	begin
		insert into #temp values (@login, @ip, @port)
	end
	FETCH NEXT FROM tables_cursor INTO @login, @ip, @port
end

CLOSE tables_cursor
DEALLOCATE tables_cursor

select * from #temp


В функции AccountUpdate может происходить изменение таблицы ActiveClients (удаление, обновление) так вот, каким бы не был курсор, после первого обращения к функции AccountUpdate, FETCH NEXT FROM выдаёт ошибку что мол курсор не открыт, если добавить OPEN tables_cursor поле вызова функции AccountUpdate то всё нормально работает. Вопрос. Дык накой нужны тогда всякие разные типы курсоров если они одинаково работают? Или что то у меня всётаки криво. Хелп плиз.
...
Рейтинг: 0 / 0
Static Cursor
    #32047842
Фотография Александр Степанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то криво в хранимой процедуре AccountUpdate. Не могли бы привести ее текст?

С уважением,
Александр Степанов
...
Рейтинг: 0 / 0
Static Cursor
    #32047843
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В процедуре AccountUpdate нет случайно транзакций ?
А SET CURSOR_CLOSE_ON_COMMIT не ON случайно ?
...
Рейтинг: 0 / 0
Static Cursor
    #32047859
Kalitin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Точно!
SET CURSOR_CLOSE_ON_COMMIT ON было. правда не в AccountUpdate а в др. функции которая из неё вызывается.
Всем огромнейшее сенкс.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Static Cursor
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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