現在オフラインです。再接続するためにインターネットの接続を待っています

自己挿入およびサブクエリで誤った結果を FIX

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:248441
# をバグ: 54744 (sqlbug_70)
現象
同一のテーブルにサブクエリからテーブル内の INSERT ステートメントは、いずれかの次の条件のセットに該当する場合に誤った結果を示します。
  • DISTINCT キーワードは、サブクエリで使用されます。

    - と -
  • テーブルにインデックスがありません。
- または -
  • サブクエリでには、TOP と ORDER BY のキーワードを使用します。

    - と -
  • インデックスはテーブルに存在します。
原因
これは、同じクエリで先ほど挿入したデータを読み取るときに、ハロウィーン問題です。 通常、同じクエリで挿入前の行に基づいて、テーブルに値を挿入することはできません。 UPDATE 操作のため先テーブル内の行の物理位置の変更を状況を防止するためにハロウィーン保護が必要です。 このような状況の結果として、1 つの論理操作のコンテキスト内で同じ行が複数回アクセスされるという発生してはならない現象が起こる場合があります。 クエリ テーブルとクエリが、以前の状態を持たない場合、バグはありません。
回避策
この問題を回避するするには、しようとしないで前の行を同じクエリで挿入に基づいて行を挿入します。
状況
マイクロソフトでは、この問題を SQL Server 7.0 の問題として認識しています。 この問題は、U. S. の Service Pack 2 で Microsoft SQL Server 7. 0 の修正されています。 関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください:
254561INF: SQL Server 7. 0 の Microsoft データ エンジン (MSDE) 1. 0 Service Pack 2 を取得します。
詳細については、プライマリ サポート プロバイダにお問い合わせください。

警告: この記事は自動翻訳されています

プロパティ

文書番号:248441 - 最終更新日: 03/14/2006 10:35:00 - リビジョン: 2.1

Microsoft SQL Server 7.0 Standard Edition

  • kbbug kbfix kbmt KB248441 KbMtja
フィードバック