0

ADO.NETからストアドプロシージャにアクセスしています。ストアドプロシージャは、最終的に単一の結果セットを返す必要があります。

この結果を計算するために、一時テーブルにSELECTINTOステートメントが入力されます。

問題は、SELECTINTOステートメントの結果も結果セットとして.NETに返されることです。

これを抑えることはできますか?または、SELECT INTOを使用するのではなく、CREATE TABLEの後にINSERTステートメントを使用する必要がありますか?

4

1 に答える 1

2

SELECT INTOは列名/タイプを推測するため、回避することをお勧めします。ソースクエリが何らかの形で複雑な場合(CASEステートメントなど)、予期しない結果が生じる可能性があります。

説明されているように値を保持する必要がある場合は、常にテーブル変数または一時テーブルのいずれかを作成します。

CREATE TABLE #TableName()(またはDECLARE @tableName TABLE())を使用してからINSERTを使用すると、追加の結果セットが返されることはありません。

于 2009-07-30T06:51:45.290 に答える