Dan*_*anM 0 sql t-sql sql-server transactions
我第一次使用SQL Server 2005,过去主要使用MySQL.我习惯使用auto_increment在表中创建唯一的ID.
无论如何......我正在使用java应用程序,需要执行以下操作.假设我的表有两列:itemID(int)和itemValue(int).
这基本上就是我想要做的(dbconn方法只是伪代码):
dbconn.execSQL("begin tran");
int nextID = dbconn.execSQLSelect("select max(itemID)+1 from itemTable");
dbconn.execSQLInsert("insert into itemTable values " + nextID + ", 1000");
dbconn.execSQL("commit tran");
Run Code Online (Sandbox Code Playgroud)
begin/commit tran语句是否会处理第2行和第3行之间可能的竞争条件?或者是否有一些TSQL相当于MySQL的"锁表",我需要做什么?