Начал писать скрипты на MS SQL 2000 используя Query Analyzer.
Вывожу отладочную информацию с помощью функции PRINT в цикле. Но полный отчет о выполнении всего скрипта мне выдается в закладке Messages толлько по завершению работы всего скрипта. Выдается мне он весь целиком. А можно ли сделать так чтобы по мере выполения, на каждой итерации мне выдавалась распечатка. Цикл очень большой по времени и я даже не знаю сколько итераций прошло, сколько осталось ждать и т. д.
— сколько программистов надо чтобы заменить сгоревшую лампочку?
— сколько не бери, а лампочку не поменять — проблема аппаратная, программным путем не решается...
Здравствуйте, PavelT100, Вы писали:
PT>Может мне опцию какую надо выставить или убрать ?
хм... если честно — не знаю... покапался немножко в BookOnline — сходу ничего не нашел...
... << RSDN@Home 1.0 beta 4... наслаждаюсь Queen — Play the game >>
— сколько программистов надо чтобы заменить сгоревшую лампочку?
— сколько не бери, а лампочку не поменять — проблема аппаратная, программным путем не решается...
кажется разобрался, надо ставить GO, полсе этого все, что накопилось для печати напечатается.
Но тогда у меня следующий вопрос. Пишу
declare @maxnumber int
<использую @maxnumber>...
go
<продолжаю использовать @maxnumber и тут мне говорят, что надо объявить @maxnumber, он типа не декларирован>
Приходится мне его объявлять заново и так со всеми переменными, что мне кажется не красивым и во многих случаях не приемлемым. Получается Go использовать нельзя.
Здравствуйте, PavelT100, Вы писали:
PT>Приходится мне его объявлять заново и так со всеми переменными, что мне кажется не красивым и во многих случаях не приемлемым. Получается Go использовать нельзя.
конечно некрасиво...
GO
Signals the end of a batch of Transact-SQL statements to the Microsoft® SQL Server™ utilities.
попробуй вместо go сделать пустой select... чую поможет...
... << RSDN@Home 1.0 beta 4... наслаждаюсь 12. I Feel Love >>
— сколько программистов надо чтобы заменить сгоревшую лампочку?
— сколько не бери, а лампочку не поменять — проблема аппаратная, программным путем не решается...
Здравствуйте, _MarlboroMan_, Вы писали:
_MM_>Здравствуйте, PavelT100, Вы писали:
PT>>Приходится мне его объявлять заново и так со всеми переменными, что мне кажется не красивым и во многих случаях не приемлемым. Получается Go использовать нельзя.
_MM_>конечно некрасиво...
_MM_>GO _MM_>Signals the end of a batch of Transact-SQL statements to the Microsoft® SQL Server™ utilities.
_MM_>попробуй вместо go сделать пустой select... чую поможет...
Здравствуйте, PavelT100, Вы писали:
PT> А можно ли сделать так чтобы по мере выполения, на каждой итерации мне выдавалась распечатка. Цикл очень большой по времени и я даже не знаю сколько итераций прошло, сколько осталось ждать и т. д.
Попробуй в свойствах подключения в QA указать set implicit_transactions или прямо перед выполнением запроса SET IMPLICIT_TRANSACTIONS ON
Здравствуйте, PavelT100, Вы писали:
PT>Все работает, но Print выдает все сразу только в конце как и раньше.
select должен быть из таблицы....
сделай так
declare @tmp table (st char(1))
и для "взбодрения" печати делай
insert into @tmp (st) values ('')
суть в том что тебе надо передать в приложение (QA) кусок текстовой информации... ее в частности передают select (типа "(xxx row(s) affected)"), insert, delete ... может еще кто... не обращал внимания....
... << RSDN@Home 1.0 beta 4... наслаждаюсь Queen — It's a beautiful day >>
— сколько программистов надо чтобы заменить сгоревшую лампочку?
— сколько не бери, а лампочку не поменять — проблема аппаратная, программным путем не решается...
Здравствуйте, PavelT100, Вы писали:
PT>Написал PT>... PT>select '' PT>...
PT>Все работает, но Print выдает все сразу только в конце как и раньше.
PT>При этом вот такой пример у меня работает очень грамотно —
PT>declare @i int PT>set @i=5 PT>while @i>0 and @i <10000000 PT>begin PT>if @i%100000 = 10 print @i PT>set @i=@i+1 PT>end
А если изменить строку if @i%100000 = 10 print @i
на if @i%100000 = 10 select @i