0

我有一个我编写的 SQL 脚本,它可以帮助我搜索数据库模式以查找是否使用了某些列(即非空、非零长度字符串等)以及它们最流行的值是什么。

我真的很希望能够返回在循环中找到的结果,因为完成整个搜索可能需要一段时间。有没有办法以这样的方式返回结果,在 VB.NET 端,它会在尝试执行时看到结果SqlDataReader.Read

因为现在,我将结果存储在临时表中并在最后返回临时表。

谢谢!

4

1 回答 1

1

不是当它是一个单一的 SQL 脚本时,不 - 调用者将在继续之前等待完整的结果集。

但是,您可以将其分解为几个步骤,如下所示:

  • 进行初始查找,列出您可能感兴趣的所有列
  • 将这些结果返回给 VB.NET
  • 对于这组中的每个结果,运行其余过程以获取您真正感兴趣的值。循环遍历第一步中的每个结果
  • 当您收到每个数据集合时,您可以根据需要选择对其进行处理。分拆一个新线程,例如,做一些额外的处理。

因此,如果它是一个单一的 T-SQL 脚本,您将无法运行它并一次返回结果 - 但如果您能够将其分解并在 .NET 中而不是在 SQL 中执行循环,您将拥有访问每个步骤的结果。

于 2012-12-03T21:03:56.443 回答