Date: Wed, 20 Sep 2000 15:59:44 +0900
From: FOX-SS <who@sub.example.jp>
こんにちわ。みなさん。
下記のストアドプロシージャで、identity値の取得を行っております。
create procedure use_NewDataInsert
@UserId as char(8), @NewIdNum int output
as
insert into 検査記録TBL (UserID) values (@UserID)
set @NewIdNum = @@identity
このテーブルはいわゆるオートナンバーを設定した列を設けております。
このテーブルに対するインサートは『必ずこのストアドだけを使う』ようにし
ています。C/S環境で複数の利用者が同時にこのプロシージャをキックするこ
とになった場合、@@identity は「その」インサートに対する値が返ってくる
物なのでしょうか?
Bools Online の「デッドロックの回避」を読んでみると、複数ユーザーでも
「同じストアド」を使うことにより、トランザクションの実行順序が標準化さ
れ、順番が守られるみたいなのですが。
要するに他の人がインサートしたときの、identity値が返ってきては困ります。
ということなんですが。
環境:
WindowsNT4 Server w/SP6
SQL Server7 w/SP2
FOX-SS
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|