Я не говорю о том, чтобы сделать "SET NOCOUNT OFF". Но у меня есть хранимая процедура, которую я использую для вставки некоторых данных в некоторые таблицы. Эта процедура создает строку ответа xml, хорошо, позвольте мне привести пример:
CREATE PROCEDURE [dbo].[insertSomeData] (@myParam int) AS
DECLARE @reply varchar(2048)
... Do a bunch of inserts/updates...
SET @reply = '<xml><big /><outputs /></xml>'
SELECT @reply
GO
Итак, я собрал script, который использует этот SP несколько раз, а xml-вывод становится слишком большим (он однажды разбил мой ящик).
Есть ли способ подавить или перенаправить вывод, сгенерированный из этой хранимой процедуры? Я не думаю, что изменение этой хранимой процедуры является опцией.
спасибо.
Думаю, я должен уточнить. Этот вышеописанный SP вызывается обновлением T-SQL script, которое я написал, для запуска через диспетчер студийной студии и т.д.
И это не самый элегантный SQL, который я когда-либо писал (некоторые psuedo-sql):
WHILE unprocessedRecordsLeft
BEGIN
SELECT top 1 record from updateTable where Processed = 0
EXEC insertSomeData @param = record_From_UpdateTable
END
Итак, скажем, UpdateTable содержит около 50 тыс. записей. Этот SP вызывается 50k раз, записывая строки 50k xml в окно вывода. Это не привело сервер sql к остановке, просто мое клиентское приложение (студия управления сервером sql).