空の結果セットですぐに返されるのではなく、結果が出るまでクエリを待機させることは可能ですか?例えば:
SELECT Column1 FROM Table1
が空の場合Table1
、クエリは空の結果セットで返されます。ただし、戻らないようにしたいのですが、少なくとも1つの行が使用可能になるまで、できれば何らかのタイムアウトで待機します。可能であれば、ServiceBrokerを方程式に含めずにこれを実行したいと思います。
明確化:
サーバーでCLRが有効になっていますが、呼び出しはSQLAPI ++/ODBCを介してプラットフォームに依存しないC++プログラムから発信されています。したがって、C#/。NETのトリックは不可能です。目標は、ストアード・プロシージャーを呼び出し、タイムアウトを指定し、データが使用可能になる(およびストアード・プロシージャーによって返される)か、指定されたタイムアウトが期限切れになるまで戻らないことです。
例えば:
EXEC GetData @Timeout=2000 -- Wait for upto 5000 milliseconds for a result set to be
-- available