1

SQL Server データベースにレコードを挿入するためのレコードセットを構築する際、WHERE 句が行を返さないという点で SELECT を実行する前例があります。この空白のレコードセットは、データベースにコミットされる前に埋められます。これのポイントは、クライアントの列定義を取得することです。

例:

SELECT * From TableA where key_column = 0

データベースでトレースを行っているときに、このメソッドが 2 つのステートメントを実行することに気付きました。

列のメタデータを取得するもの...

SET FMTONLY ON SELECT * From TableA where key_column = 0 SET FMTONLY OFF

...そして、私たちが意図したオリジナルの選択。

メタデータのみが必要であることを考慮して、VB6 内から Recordset を構築するときに最初のステートメントのみを実行する方法はありますか?

(レコードセットの代わりに INSERT ステートメントを使用するのが最も効率的であることは承知しています。)

4

0 に答える 0