Как использовать оператор печати для отслеживания выполнения, когда хранимая процедура работает?

JEdit имеет плагин под названием "XQuery", который обеспечивает запросы функциональности для XML-документов.

Не совсем командная строка, но это работает!

21
задан Kirtan 12 August 2009 в 06:57
поделиться

3 ответа

Я уверен, что вы можете использовать RAISERROR ... WITH NOWAIT

Если вы используете степень серьезности 10, это не ошибка. Это также обеспечивает удобное форматирование, например% s,% i, и вы также можете использовать состояние, чтобы отслеживать, где вы находитесь.

28
ответ дан 29 November 2019 в 21:24
поделиться

SQL Server возвращает сообщения после выполнения пакета инструкций. Обычно вы должны использовать SQL GO , чтобы указать конец пакета и получить результаты:

PRINT '1'
GO

WAITFOR DELAY '00:00:05'

PRINT '2'
GO

WAITFOR DELAY '00:00:05'

PRINT '3'
GO

Однако в этом случае оператор печати, который вы хотите вернуть немедленно, находится в середине цикла , поэтому операторы печати не могут быть в отдельном пакете. Единственная известная мне команда, которая вернется в середине пакета, это RAISERROR (...) WITH NOWAIT , которую gbn предоставил в качестве ответа, когда я набираю это.

2
ответ дан 29 November 2019 в 21:24
поделиться

Могу я просто спросить о долгосрочной потребности в этом средстве - оно предназначено для отладки?

Если да, то вы можете рассмотреть возможность использования подходящего отладчика, например, в Visual Studio, поскольку это позволяет выполнять пошаговую процедуру более контролируемым образом и позволяет избежать постоянного добавления / удаления оператора PRINT из процедуры.

Это только мое мнение, но я предпочитаю отладчик подход - для кода и баз данных.

0
ответ дан 29 November 2019 в 21:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: