[英]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.