0

次の MYBATIS ステートメントがあるとします。

<insert id="insertValue" resultType="car" > 
   BEGIN TRANSACTION
      INSERT INTO table1 ( somefield,... ) VALUES ( #{value},... ); 

      <selectKey keyProperty="carId" resultClass="int"> 
         SELECT @@IDENTITY as carId 
      </selectKey>

      UPDATE table2
      set fieldx = #{carId}
      where table2Id = 500;
   COMMIT
</insert>

carId の値 0 を取得しています。これは、table1 に追加されたばかりのレコードのキーである必要があります。

最近生成された keyValue を取得してすぐに使用するにはどうすればよいですか?

4

1 に答える 1

0

あなたがやりたいことは次のとおりだと思います:

insert table1 ......
declare @var int
set @var= scope_identity()
update table2 set ... where id = @var
于 2011-11-21T18:16:49.493 に答える