阅读量:0
在SQL Server中,可以通过以下几种方式设置主键自增长:
- 使用IDENTITY列:在创建表时,在主键列的定义中使用
IDENTITY(1,1)
,表示该列是自增长的。示例代码如下:
CREATE TABLE TableName ( ID INT IDENTITY(1,1) PRIMARY KEY, Column1 datatype1, Column2 datatype2, ... );
- 使用SEQUENCE对象:在创建表后,使用SEQUENCE对象来定义自增长序列,并在主键列中引用该SEQUENCE对象。示例代码如下:
CREATE SEQUENCE SequenceName AS INT START WITH 1 INCREMENT BY 1 MINVALUE 1 NO MAXVALUE NO CYCLE; CREATE TABLE TableName ( ID INT DEFAULT NEXT VALUE FOR SequenceName PRIMARY KEY, Column1 datatype1, Column2 datatype2, ... );
- 使用TRIGGER触发器:在创建表后,创建一个触发器,在插入数据时自动为主键列赋予自增长的值。示例代码如下:
CREATE TABLE TableName ( ID INT PRIMARY KEY, Column1 datatype1, Column2 datatype2, ... ); CREATE TRIGGER TriggerName ON TableName INSTEAD OF INSERT AS BEGIN SET NOCOUNT ON; INSERT INTO TableName (ID, Column1, Column2, ...) SELECT NEXT VALUE FOR SequenceName, Column1, Column2, ... FROM inserted; END;
以上是三种设置主键自增长的方式,你可以根据具体的需求选择适合的方式来实现。