SQL Serverに2つのSPがあります。 SP1は、異なるパラメータを持つループ内でSP2を繰り返し呼び出し、SP2の出力を一時テーブルに保存し続けます。SSRSで使用すると、別のSP内でSPを繰り返し呼び出すと、呼び出されたSPのテンポラリテーブルに重複したPK名の問題が発生する
SP1によって繰り返し呼び出されているSP2には、「名前のない」主キーを持つ一時テーブルがいくつかあります。
テンポラリテーブルの名前付きプライマリキーがわかっているのは、テンポラリテーブル自体が破棄されてもドロップされないことがあるためです。
SP2では、SP2の最初の段階で、SP2のテンポラリテーブルがあればチェックして削除します。
これはSSMS内で完全に正常に動作しているようですが、SSRSでSP1を使用すると、SP2でPK名の違反が発生することがあります。
オブジェクト#tempTableに重複キーを挿入できません。
この問題を回避する方法はありますか?
重複する値を一時表に挿入する場合は、その列をPKとして設定するのはなぜですか?ここでの答えは、tempテーブルの作成時にその指定を避けることですが、tempテーブルの構造とループコードの例を与えることができれば助かります。 –