从CLR存储过程调用返回一个表变量

本文关键字:一个 变量 CLR 存储过程 调用 返回 | 更新日期: 2023-09-27 18:09:06

我有一个现有的CLR,它使用XST分解和验证传入的XML。我想将数据点(不关心XML本身)捕获到一个可以直接插入到数据库表中的表中。我调用CLR存储过程它会返回4列,有几百行我只需输入

insert into EXISTINGtable 
select * from TableReturnedFromCLRspCAll

不一定是SP,可以是UDF…我真正的问题是如何让CLR返回一个表。我还需要能够传入表定义。所以对于由CLR返回的表。我想有4列名称和类型是调用CLR作为变量的一部分。

如果有人能帮我解决这个问题,我会非常感激和非常印象深刻,因为我已经问过一些非常有经验的人,当我谈到CLR有一个动态表和/或CLR返回一个表时,他们都举手了。

谢谢!

从CLR存储过程调用返回一个表变量

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

返回表格结果

要将查询结果直接发送到客户端,请使用在SqlPipe对象上重载Execute方法。这是将结果返回给客户机的最有效方法,因为数据是传输到网络缓冲区而不被复制到托管记忆。

我还没有从存储过程中尝试过,但是我使用下面的示例从CLR UDF返回了一个表。http://msdn.microsoft.com/en-us/library/ms131103.aspx