【问题标题】:SQL CLR - table variable or temp table vs. collectionSQL CLR - 表变量或临时表与集合
【发布时间】:2011-12-22 03:50:42
【问题描述】:

我正在从 SQL 服务器构建一个数据集 - 一个返回数据集的存储过程。需要多次通过才能按照我的需要操作数据。我以前在 T-SQL 存储过程中做过这个,但它变得太复杂了,所以我正在转向 SQL CLR。在 T-SQL 中,我有几个表变量

declare @theData as ( col1 int, .... )

我以一个连接这些表的 select 语句结束。在 SQL CLR 中,我可以有一个对象列表:

List<MyObject> theData = new List<MyObject>();

问题:使用表变量或 .NET 对象集合会更好吗?

我可以看到您没有使用表变量在内存中构建东西,而是在 SQL 服务器上完成工作。从语法上讲,这对我来说并不重要,因为我可以使用 Linq 或 SQL 执行“批量更新”语句。

【问题讨论】:

    标签: .net tsql clr sqlclr


    【解决方案1】:

    如果您可以使用表变量、CTE 等来返回您需要的数据,我会坚持这样做。如果您需要使用托管代码功能(想想对象功能),则使用 CLR 非常好,但如果您真的不需要使用它,则可能会过度使用它。你可以看一下这个概览:http://msdn.microsoft.com/en-us/library/ms131045.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-24
      • 1970-01-01
      • 2011-07-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多