MSSQL写入数据返回当前自增长ID
SET NOCOUNT ON; INSERT INTO [TableName] ([Column1], [Column2]) VALUES (@value1, @value2); SELECT [Id] FROM [TableName] WHERE @@ROWCOUNT=1 AND [Id]=scope_identity();
1,SET NOCOUNT ON:不返回受影响的行数,但不影响对@@RowCount的更新(同时也达到提升性能的目的)
2,INSERT ....:数据写入
3,SELECT [Id] FROM [TableName] WHERE @@ROWCOUNT=1 AND [Id] = scope_identity(); //返回当前数据自增长ID,@@ROWCOUNT=1保证受影响行数, scope_identity()当前作用域最后一个 IDENTITY 值