簡體   English   中英

自動增加sql-server中的非標識列

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM