SQLServerお世話になります。現在,データ登録/更新処理の改修を行っています。更新の際に、採番テーブルより取得した値を登録対象テーブルに格納しています。採番テーブルよりデータ取得後は、UPDATE文により+1カウントアップを行っています。下記が処理ロジックの抜粋となりますが、同時に更新処理を行われた際に採番テーブルより取得した番号が同じになるという現象が発生してしまいます。行ロックなどの手法を試みましたが、どうしてもうまくいきません。UPDLOCK)などを試しています。トランザクション処理も考えないといけないので、ストアドファンクション化する方法も考えています。ストアド化、別の方法など重複防止の為のアドバイスをお願いします。下記が採番テーブル取得後、採番テーブル更新までの処理ロジックの抜粋です。※取得採番データは、登録対象データとして使用します。※EB.qt(TestCd),Shubetu,EB.qt(GrpCd),Nendoなどは引数です。23:45:54)トランザクションスコープ使えば可能な感じがします。検索してみてください。使ってメソッド処理自身を単一直列化する方法もあるかと思います。メソッド単体の話というより、そのメソッドの使い方、呼び出し方の情報がもうすこしあると良いかもですね。現在,データ登録/更新処理の改修を行っています。更新の際に、採番テーブルより取得した値を登録対象テーブルに格納しています。採番テーブルよりデータ取得後は、UPDATE文により+1カウントアップを行っています。取得した番号が同じになるという現象が発生してしまいます。行ロックなどの手法を試みましたが、どうしてもうまくいきません。トランザクション処理も考えないといけないので、ストアドファンクション化する方法も考えています。ストアド化、別の方法など重複防止の為のアドバイスをお願いします。下記が採番テーブル取得後、採番テーブル更新までの処理ロジックの抜粋です。※取得採番データは、登録対象データとして使用します。※EB.qt(TestCd),Shubetu,EB.qt(GrpCd),Nendoなどは引数です。HOLDLOCK)で採番テーブルSelect※TABLOCKXはROWLOCKでも大丈夫かもしれないです。(3)データ更新処理(4)コミットまたはロールバックとすればトランザクション中はロックされるので他の処理は待たされることになり重複はさけられます。採番テーブルのロックで待ちになるので多分大丈夫だとは思いますがデッドロックにならないよう気をつけましょう。