SQL手动更新插入

时间:2016-06-02 09:31:35

标签: sql sql-server primary-key counter

在SQL Server中手动生成一个数字计数器。

我有一张带引号的表格。列ID是主键和标识,Title NvarcharDes NvarcharUpdateNumber

我想添加一个像索引这样的数字,每当插入新记录时它应该增加1。

我不能在SQL中使用身份,因为它会留下间隙。

每当插入新记录时,我都在存储过程中使用了以下代码。

INSERT INTO [mps] ([Title], [Des], UpdateNumber) 
VALUES(@title, @des, (select (max(id) + 1) from mps))

我担心的是,如果两个人同时插入记录,那么应该没有任何重复。 SQL将如何处理这个?或者还有其他更好的方法吗?

我在另一个项目中使用类似的编号,每当插入新记录时我想要一个增量编号。由于我打印的文档编号与打印文档编号相同,因此打印时可能会产生混淆。因此,以下方法应该在该解决方案中起作用

1 个答案:

答案 0 :(得分:0)

您可以使用计数功能

http://www.pqr.com

或者您可以使用Max

INSERT INTO [mps] ([Title],[Des],UpdateNumber) VALUES(@title,@des,(select (count(*)+1) from mps))

这些将没有重复