在SQL Server中手动生成一个数字计数器。
我有一张带引号的表格。列ID
是主键和标识,Title Nvarchar
,Des Nvarchar
,UpdateNumber
。
我想添加一个像索引这样的数字,每当插入新记录时它应该增加1。
我不能在SQL中使用身份,因为它会留下间隙。
每当插入新记录时,我都在存储过程中使用了以下代码。
INSERT INTO [mps] ([Title], [Des], UpdateNumber)
VALUES(@title, @des, (select (max(id) + 1) from mps))
我担心的是,如果两个人同时插入记录,那么应该没有任何重复。 SQL将如何处理这个?或者还有其他更好的方法吗?
我在另一个项目中使用类似的编号,每当插入新记录时我想要一个增量编号。由于我打印的文档编号与打印文档编号相同,因此打印时可能会产生混淆。因此,以下方法应该在该解决方案中起作用
答案 0 :(得分:0)
您可以使用计数功能
http://www.pqr.com
或者您可以使用Max
INSERT INTO [mps] ([Title],[Des],UpdateNumber) VALUES(@title,@des,(select (count(*)+1) from mps))
这些将没有重复