0

私が書いたSQLスクリプトは、DBスキーマを検索して、特定の列が使用されているかどうか(つまり、null以外、長さ0の文字列など)、およびそれらの最も一般的な値を見つけるのに役立ちます。

検索全体が完了するまでに時間がかかる可能性があるため、ループ内で見つかった結果を返すことができるようにしたいと思います。VB.NET側で、実行しようとしたときに検出された結果を表示するような方法で結果を返す方法はありますSqlDataReader.Readか?

今のところ、結果を一時テーブルに保存し、最後に一時テーブルを返しているからです。

ありがとう!

4

1 に答える 1

1

単一の SQL スクリプトの場合は違います。呼び出し元は完全な結果セットを待ってから次に進みます。

ただし、次のようにいくつかのステップに分割できます。

  • 関心のあるすべての列をリストする最初のルックアップを行います
  • これらの結果を VB.NET に返す
  • このセットの各結果について、残りのプロセスを実行して、実際に関心のある値を取得します。最初のステップの各結果をループします。
  • データのコレクションを受け取るたびに、必要に応じてそれを使って何かを行うことを選択できます。たとえば、追加の処理を行うために、新しいスレッドをスピンオフします。

したがって、単一の T-SQL スクリプトの場合は、一度に実行して結果を返す必要がありますが、それを分割して、SQL 内ではなく .NET 内でループを実行できれば、次のようになります。各ステップで結果にアクセスします。

于 2012-12-03T21:03:56.443 に答える