自增SQL Server中ID自增的应用(sqlserver的id)

以前,由于SQL Server中ID自增,开发者必须担心数据库中ID的唯一性,大多数情况下,为了确保唯一性,往往被迫使用GUID来表示实体,但是由于GUID很大,使用它会增加查询的开销,大大影响查询性能。但是有了SQL Server中ID自增,问题就得以解决。

SQL Server中ID自增能够让一个字段随着每一次插入而自动增加,一般情况下,ID自动增长将只会存在一列,集合该列的数值就是所有的ID的唯一性。

下面介绍一下在SQL Server中ID自增的应用,两种情况:

1、利用Identity

Identity(标识)是SQL Server中的一个特性,Identity可以自动在一个字段上生成唯一的值。例如:

CREATE TABLE Product

(

ProductId int Identity(1,1) PRIMARY KEY,

ProductName varchar(50)

)

在上面的代码中,声明ProductId字段为自增字段,每次插入一条数据自动增加1,当添加新行时无需指定ProductId,ProductId列会自动分配下一个唯一值:

INSERT INTO Product(ProductName)

VALUES (‘Headphone’)

INSERT INTO Product(ProductName)

VALUES (‘Mouse’)

2、使用Sequence

Sequence是SQL Server 2012及以上版本的新特性,用于生成递增的序列号。以下是生成一个可以重复使用的序列号(从1开始自增1)的应用:

CREATE SEQUENCE dbo.ProductSeq

START WITH 1

INCREMENT BY 1

可以将Sequence应用于表中,也可以应用于存储过程中:

CREATE TABLE Product

(

ProductId int PRIMARY KEY,

ProductName varchar(50)

)

INSERT INTO Product(ProductId,ProductName)

VALUES(NEXT VALUE FOR dbo.ProductSeq,’Headphone’)

INSERT INTO Product(ProductId,ProductName)

VALUES(NEXT VALUE FOR dbo.ProductSeq,’Mouse’)

总结

以上介绍了如何使用SQL Server ID自增功能实现唯一ID,由于ID自增可以极大简化开发工作,现在就被广泛应用在各类应用程序中,希望上面的示例对开发者有所协助。


数据运维技术 » 自增SQL Server中ID自增的应用(sqlserver的id)