У меня есть вопрос, который беспокоит меня некоторое время, но я не смог найти подходящих ответов для моей конкретной ситуации.
В настоящее время я работаю с сетом.хранимых процедур, у которых есть параметр AsXML, который сообщает proc для возврата результатов в виде XML-документа.Теперь это хорошо и работает хорошо, но способ, которым мы достигаем этого, не очень хорош.Весь запрос строится в строке и выполняется командой EXEC.Лично я думаю, что это ужасно, так как затрудняет отладку более сложных процедур и действительно является бельмом на глазу.Это также очень сложно объяснить новым сотрудникам, которые практически не имеют опыта работы с SQL.Должен быть более хороший способ сделать это.
Я уже думал об использовании двух отдельных хранимых процедур или о том, чтобы вызывающий код превратил результат таблицы в документ XML, но ни один из них не подходит для старших руководителей, которые имеют последнее слово.Я надеялся, что кто-нибудь сможет найти другое решение, которое пометит все нужные поля.
Для решения необходимо:
- Работа в одной хранимой процедуре
- Создание XML или стандартного набора результатов таблицы на основе параметра
- Не использовать динамический SQL
- Не заставлять нас писать запрос дважды (один с FOR XML, а другой без)
Есть какие-нибудь мысли, предложения или решения?