[英]Auto Increment a non-identity Column in sql-server
我们的数据库中有非Identity
Column
,它们具有特定值。 我们有如下要求,
每当记录insert
该列时,值应加1。
如何在sql server
处理这个?
谢谢您的帮助。
好吧,你可以使用SQL Server 2012中引入的SEQUENCE
语句带来生成ID的方法
要在insert语句中使用它,您需要首先创建这样的序列 -
CREATE SEQUENCE dbo.Id_Sequence
AS INT
START WITH 1
INCREMENT BY 1
MINVALUE 0
NO MAXVALUE
现在在你的insert语句中使用它 -
INSERT INTO dbo.Test1
( orderid ,
custid ,
empid
)
SELECT NEXT VALUE FOR dbo.Id_Sequence,
@custid ,
@empid
而已。
尝试创建TRIGGER
CREATE TRIGGER incrementValue
ON Test
FOR Insert
AS
Update Test
set columnvalue = columnvalue +1
where id in (select id from inserted)
GO
您可以加载表格的最大值并添加+1
SELECT MAX(MyColumn)+1 FROM MyTable
也许首次运行时添加ISNULL。
ISNULL((SELECT MAX(MyColumn)+1 FROM MyTable),0)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.