我们的数据库中有非Identity
Column
具有特定值。我们有如下要求,
每当记录insert
进入该列时,值应加1。
如何在sql server
处理此问题?
感谢您的帮助。
答案 0 :(得分:8)
好吧,您可以使用SQL Server 2012中引入的SEQUENCE
语句带来生成ID的方法
要在insert语句中使用它,您需要首先创建这样的序列 -
CREATE SEQUENCE dbo.Id_Sequence
AS INT
START WITH 1
INCREMENT BY 1
MINVALUE 0
NO MAXVALUE
现在在你的插入语句中使用它 -
INSERT INTO dbo.Test1
( orderid ,
custid ,
empid
)
SELECT NEXT VALUE FOR dbo.Id_Sequence,
@custid ,
@empid
那就是它。
答案 1 :(得分:2)
尝试创建TRIGGER
CREATE TRIGGER incrementValue
ON Test
FOR Insert
AS
Update Test
set columnvalue = columnvalue +1
where id in (select id from inserted)
GO
答案 2 :(得分:0)
您可以加载表格的最大值并添加+1
SELECT MAX(MyColumn)+1 FROM MyTable
首先可以添加ISNULL。
ISNULL((SELECT MAX(MyColumn)+1 FROM MyTable),0)