Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 зависает на курсоре  [new]
Ozornitca
Member [заблокирован]

Откуда:
Сообщений: 634
здравствуйте,

скажите, пожалуйста,

а куда смотреть что почитать?
в процедуре курсор- до него все отрабатывает, к нему- зависает и все. /Причем ограничила top 10, выполняю запрос отдельно- за секунду выполняется..

работаю с ним стандартно

OPEN @cur_load
FETCH NEXT FROM @cur_load INTO @ROUTE_ID,
@ROUTE_CODE,
@ROUTEDESC,
@SOCFLAG,
@acc_csum,
@acc_csum_arh,
@sa_csum_arh,
@sa_csum,
@fle_rownum,
@SA_SOURCE_SYSTEM_ID,
@SA_LOAD_PERIOD,
@SA_LOAD_ID,
@FIRST_LOAD_ID,
@rn,
@cnt

WHILE @@FETCH_STATUS = 0

set @testText = 'zashli '+ @v_trg
exec [dbo].[test] @testText

FETCH NEXT FROM @cur_load INTO @ROUTE_ID,
@ROUTE_CODE,
@ROUTEDESC,
@SOCFLAG,
@acc_csum,
@acc_csum_arh,
@sa_csum_arh,
@sa_csum,
@fle_rownum,
@SA_SOURCE_SYSTEM_ID,
@SA_LOAD_PERIOD,
@SA_LOAD_ID,
@FIRST_LOAD_ID,
@rn,
@cnt
CLOSE @cur_load

прошу понять и просить , скажите. хотя бы как в поисковике набрать чтобы найти нечто полезное )))
27 янв 17, 16:27    [20154173]     Ответить | Цитировать Сообщить модератору
 Re: зависает на курсоре  [new]
Ozornitca
Member [заблокирован]

Откуда:
Сообщений: 634
а и вначале пишу конечно

SET @cur_load = CURSOR SCROLL
FOR
select top 10 blabla


потом open @
27 янв 17, 16:28    [20154183]     Ответить | Цитировать Сообщить модератору
 Re: зависает на курсоре  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381
Ozornitca,

обрамить тело цикла begin ... end-ом не пробовали?
27 янв 17, 16:30    [20154193]     Ответить | Цитировать Сообщить модератору
 Re: зависает на курсоре  [new]
invm
Member

Откуда: Москва
Сообщений: 9402
Как вы думаете, что выполняется в теле WHILE?
27 янв 17, 16:30    [20154197]     Ответить | Цитировать Сообщить модератору
 Re: зависает на курсоре  [new]
londinium
Member

Откуда: Киев
Сообщений: 1176
Вы бы показали еще для надежности
DECLARE cCursor CURSOR
FOR SELECT .....

ну и в конце я бы для надежности написал
CLOSE @cur_load;
DEALLOCATE @cur_load;

ну и наконец, кто сидит вот здесь:
exec [dbo].[test] @testText

а то может там процедура на два часа работы
27 янв 17, 16:31    [20154202]     Ответить | Цитировать Сообщить модератору
 Re: зависает на курсоре  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37067
Зависает из-за бесконечного цикла, в котором выполняется только один set.
27 янв 17, 16:32    [20154212]     Ответить | Цитировать Сообщить модератору
 Re: зависает на курсоре  [new]
Ozornitca
Member [заблокирован]

Откуда:
Сообщений: 634
londinium
Вы бы показали еще для надежности
DECLARE cCursor CURSOR
FOR SELECT .....

ну и в конце я бы для надежности написал
CLOSE @cur_load;
DEALLOCATE @cur_load;

ну и наконец, кто сидит вот здесь:
exec [dbo].[test] @testText

а то может там процедура на два часа работы


в test- это я таблицу себе сделала для лога, там просто инсерт строка , состоящая из текст и дата
27 янв 17, 16:49    [20154315]     Ответить | Цитировать Сообщить модератору
 Re: зависает на курсоре  [new]
Ozornitca
Member [заблокирован]

Откуда:
Сообщений: 634
invm
Как вы думаете, что выполняется в теле WHILE?


в теле уайл выполняется запись в лог
27 янв 17, 16:49    [20154319]     Ответить | Цитировать Сообщить модератору
 Re: зависает на курсоре  [new]
Ozornitca
Member [заблокирован]

Откуда:
Сообщений: 634
Гавриленко Сергей Алексеевич
Зависает из-за бесконечного цикла, в котором выполняется только один set.


а почему бесконечного ?
27 янв 17, 16:50    [20154323]     Ответить | Цитировать Сообщить модератору
 Re: зависает на курсоре  [new]
Ozornitca
Member [заблокирован]

Откуда:
Сообщений: 634
londinium
Вы бы показали еще для надежности
DECLARE cCursor CURSOR
FOR SELECT .....

ну и в конце я бы для надежности написал
CLOSE @cur_load;
DEALLOCATE @cur_load;

ну и наконец, кто сидит вот здесь:
exec [dbo].[test] @testText

а то может там процедура на два часа работы


в декларе
@cur_load cursor,

а с курсором

Модератор: Портянка с курсором удалена по просьбе автора


Сообщение было отредактировано: 27 янв 17, 18:25
27 янв 17, 16:51    [20154326]     Ответить | Цитировать Сообщить модератору
 Re: зависает на курсоре  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Ozornitca
Гавриленко Сергей Алексеевич
Зависает из-за бесконечного цикла, в котором выполняется только один set.


а почему бесконечного ?
добавь уже BEGIN END
27 янв 17, 16:51    [20154332]     Ответить | Цитировать Сообщить модератору
 Re: зависает на курсоре  [new]
doos
Member

Откуда: Ленинградская обл.
Сообщений: 165
Гавриленко Сергей Алексеевич
Зависает из-за бесконечного цикла, в котором выполняется только один set.


один set и больше ничего!!!
27 янв 17, 16:52    [20154339]     Ответить | Цитировать Сообщить модератору
 Re: зависает на курсоре  [new]
Ozornitca
Member [заблокирован]

Откуда:
Сообщений: 634
это я упрощенный вид привела,
\просто выяснила , что именно даже не входит в курсор, тк запись лога заканчивается перед ним
27 янв 17, 16:52    [20154340]     Ответить | Цитировать Сообщить модератору
 Re: зависает на курсоре  [new]
Ozornitca
Member [заблокирован]

Откуда:
Сообщений: 634
TaPaK
Ozornitca
пропущено...


а почему бесконечного ?
добавь уже BEGIN END


заработало !!!


всем большое спасибо
27 янв 17, 16:54    [20154352]     Ответить | Цитировать Сообщить модератору
 Re: зависает на курсоре  [new]
doos
Member

Откуда: Ленинградская обл.
Сообщений: 165
курсоры без @ объявляются
27 янв 17, 16:54    [20154354]     Ответить | Цитировать Сообщить модератору
 Re: зависает на курсоре  [new]
Ozornitca
Member [заблокирован]

Откуда:
Сообщений: 634
doos
курсоры без @ объявляются

ну он наверное воспринял это просто как символ неслужебный) не возбранил)
27 янв 17, 17:24    [20154490]     Ответить | Цитировать Сообщить модератору
 Re: зависает на курсоре  [new]
Ozornitca
Member [заблокирован]

Откуда:
Сообщений: 634
скажите пожалуйста, а что еще такое с кодировкой ?

пишу например комментарий русскими буквами - все в вопросах

но я же не могу указать в лоб тип nvarchar, потому как комментарий может быть в разном языке..
27 янв 17, 17:31    [20154530]     Ответить | Цитировать Сообщить модератору
 Re: зависает на курсоре  [new]
Ozornitca
Member [заблокирован]

Откуда:
Сообщений: 634
микрософт скул сервер 2012
27 янв 17, 17:31    [20154535]     Ответить | Цитировать Сообщить модератору
 Re: зависает на курсоре  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37067
Ozornitca
пишу например комментарий русскими буквами - все в вопросах
"Пишу" -- это какая команда?
27 янв 17, 17:33    [20154542]     Ответить | Цитировать Сообщить модератору
 Re: зависает на курсоре  [new]
Ozornitca
Member [заблокирован]

Откуда:
Сообщений: 634
Гавриленко Сергей Алексеевич
Ozornitca
пишу например комментарий русскими буквами - все в вопросах
"Пишу" -- это какая команда?


К ПРИМЕРУ

SET @TEXT = 'ПАРАМ ПАМ ПАРАМ'
INSERT (TEXT..............) VALUES (@TEXT, ..........)
27 янв 17, 17:39    [20154576]     Ответить | Цитировать Сообщить модератору
 Re: зависает на курсоре  [new]
Ozornitca
Member [заблокирован]

Откуда:
Сообщений: 634
INSERT INTO ...
()VALUES ()

конечно же
27 янв 17, 17:41    [20154581]     Ответить | Цитировать Сообщить модератору
 Re: зависает на курсоре  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37067
SET @TEXT = N'ПАРАМ ПАМ ПАРАМ'
INSERT (TEXT..............) VALUES (@TEXT, ..........)


Если @TEXT как nvarchar объявлена.

Сообщение было отредактировано: 27 янв 17, 17:42
27 янв 17, 17:41    [20154584]     Ответить | Цитировать Сообщить модератору
 Re: зависает на курсоре  [new]
Ozornitca
Member [заблокирован]

Откуда:
Сообщений: 634
Гавриленко Сергей Алексеевич
SET @TEXT = N'ПАРАМ ПАМ ПАРАМ'
INSERT (TEXT..............) VALUES (@TEXT, ..........)


Если @TEXT как nvarchar объявлена.


ох..

в таблице varchar

а вообще до меня тоже мучились- говорят, надо чтобы в таблице были колонки типа nvarchar, тогда и рксские и не русские символы будут корректно отображаться ((
27 янв 17, 17:43    [20154596]     Ответить | Цитировать Сообщить модератору
 Re: зависает на курсоре  [new]
Ozornitca
Member [заблокирован]

Откуда:
Сообщений: 634
то есть всегда должен использоваться тип nvarchar ? смысл тогда в varchar , если всегда могут быть символы и кириллица и нет

но в него же меньше символов влазит
27 янв 17, 17:45    [20154602]     Ответить | Цитировать Сообщить модератору
 Re: зависает на курсоре  [new]
invm
Member

Откуда: Москва
Сообщений: 9402
Ozornitca
в таблице varchar
Collation у столбца должен быть кириллический.
27 янв 17, 17:48    [20154616]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить