Я использую SQL Server 2005 впервые, в прошлом в основном работал с MySQL. Я привык использовать auto_increment для создания уникальных идентификаторов в таблицах.
В любом случае ... Я работаю в 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");
Будут ли операторы begin / commit tran иметь дело с возможным состоянием гонки между строками 2 и 3? Или есть какой-то TSQL-эквивалент таблицы блокировки MySQL, который мне нужно сделать?