一時テーブル(#myTable
)とカーソルの使用。これにより、同時ユーザーがアプリケーションを介してカーソルにアクセスしているときに問題が発生しますか?同じ名前で別の一時テーブルを作成できますか?
以下はサンプルコードです:
Open cursor;
Fetch Next from cursor into @Variable_Temp_Table_Name;
Create table #myTable(pk int)
While @@Fetch_Status = 0
Begin
Fetch Next from cursor into @Variable_Temp_Table_Name;
End
はい、複数のアプリケーションが#tempテーブルの独自のコピーを取得します。これが#tempテーブルを使用するポイントです。これは、各同時セッションが独自の独立したオブジェクトを持っているためです。これは、#tempテーブルと組み合わせてカーソルを使用しているかどうかとは関係ありません(とにかくカーソルは必要ないのではないかと思います。具体的にコメントするのに十分なコードが含まれていませんでした)。
編集してコメントを含める:
#tempテーブルの使用に関するもう1つのことは、テーブルに制約を追加する必要がある場合、SQLサーバーに名前を生成させることです。そうしないと、テーブルがセッションに対して一意であっても、制約は発生せず、2番目のインスタンスがエラーを出力します。テーブル。