私はSQL Server 2005データベースを持っています。 Table A
には、列に複数の行にまたがる別の手動のId
列と同様に、列にID列があります。 2番目のid
列の形式は'0000000098'
であり、文字列でなければなりません。データ型を変更することはできません。SQL Serverの機能 - 重複を防止する
Function A
は、最大ID
の列値を取得し、1ずつ増やして文字列としてキャストします。
保存したprocが新しいIDを取得した後、このIDを使用していくつかの挿入を行います。
更新が行われる前に、2つのクライアントがストアドプロシージャを実行して同じIDを取得しないようにするにはどうすればよいですか? procが処理されるか、より効率的な方法があるまで、テーブルaを読み込みからロックすることはできますか?
データタイプや構造を変更できる場合は簡単ですが、できません。
それは良い考えです。おそらく1)関数を実行して次のIDを取得する2)次の人が次のIDを取得する3)最初の人がinsert文を実行する2番目の人が次のID ...両方が同じIDを持つことになります。これは可能ですか、または挿入を行っているので、自動的にそのテーブルをロックしますか?それは会計特有のテーブルのためです、私はIDのそれを複製する余裕がありません...会計の悪夢は他のどの種類よりも悪いです! ;) –
あなたの投稿をもう一度読んでみてください...感謝します、ありがとう! (子供の周り - 集中することはできません) –