Оказывается (я гуглил), что способ сделать это - установить флажок FMTONLY на ON на Sql Server.
См. здесь.
Вот пример, взятый из здесь :
SET FMTONLY ON;
EXEC dbo.MyTestSproc @param1 = NULL, @param2 = NULL, @param3 = NULL
SET FMTONLY OFF;
В случае, когда сохраненный процессне возвращает никаких данных, вы не увидите никакого вывода (по крайней мере, это было мое наблюдение в SSMS).Когда процедура возвращает данные, вы видите, что имена столбцов отображаются фактически без каких-либо возвращаемых данных.
Так что это своего рода испытание, ошибка, вещь.
ПРИМЕЧАНИЕ: Я протестировал с процедурой, в которой используется параметр с табличным значением, и он не выдал никакого вывода, даже если процедура действительно возвращает данные.Установка параметра в NULL не сработала, и SSMS пожаловалась на неприятную ошибку.Ошибка, по-видимому, связана с тем, что временная таблица используется внутри proc и необязательно с параметром table-value, но все еще не выдает пустой набор результатов:
Msg 208, Level 16, State0, процедура spWh независимо, строка 20 Неверное имя объекта '#temp'.
Глядя на ссылку, опубликованную Майклом, выясняется, что если процедура возвращает разные наборы результатов в зависимости от переданного параметра, дляНапример, невозможно знать наверняка.См. Ответ Марка Гравелла.