Возврат табличной переменной из вызова хранимой процедуры CLR

У меня есть CLR, который использует XST для уничтожения и проверки переданного XML. Я хочу записать точки данных (не заботясь о самом XML) в таблицу, которая может быть непосредственно вставлена ​​в таблицу базы данных. Так что я бы назвал свой хранимый процесс CLR, и он вернул бы 4 столбца с сотнями или строками, и я мог бы просто сделать

insert into EXISTINGtable 
select * from TableReturnedFromCLRspCAll

Это не обязательно должен быть SP, это может быть UDF ... Мой реальный вопрос в том, как мне получить CLR для возврата таблицы. Я должен быть в состоянии передать определение таблицы, а также. Таким образом, для таблицы, возвращаемой CLR ... Я хотел бы, чтобы имена и типы четырех столбцов были частью вызова CLR в качестве переменных.

Если кто-то может помочь мне в этом, я был бы очень благодарен и очень впечатлен, потому что я спросил некоторых очень опытных парней, и они все подняли руки, когда я добираюсь до CLR, имеющего динамический стол И / ИЛИ CLR, возвращающий стол совсем.

Спасибо!

1 ответ

С MSDN http://msdn.microsoft.com/en-us/library/ms131094.aspx

Возврат табличных результатов

Чтобы отправить результаты запроса непосредственно клиенту, используйте одну из перегрузок метода Execute для объекта SqlPipe. Это наиболее эффективный способ возврата результатов клиенту, поскольку данные передаются в сетевые буферы без копирования в управляемую память.

Я не пробовал это из хранимой процедуры, но я возвратил таблицу из UDF CLR, используя следующий пример. http://msdn.microsoft.com/en-us/library/ms131103.aspx

Другие вопросы по тегам