起因:Oracle转SqlServer过程中发现SqlServer2012之前版本无Sequence特性
处理:利用Sql Server 中自增ID实现 Oracle 序列 (SEQUENCE) 类似功能

--创建序列表
CREATE TABLE Sequence (
    ID INT IDENTITY ( 1, 1 ) NOT NULL, 
    -- IDENTITY(p1,p2),参数均为正整数,p1:开始数,p2:步长。
    CreatedTime datetime 
    --记录创建时间 可按君意设置
) 

--插入新序列并返回序列号
INSERT INTO Sequence ( CreatedTime ) OUTPUT inserted.id AS 当前返回序列号 VALUES(getdate())
--output 从数据修改语句中返回输出,可以看作是“返回结果的DML”
--需指定主键。output Inserted.列名(返回值)。

PS:新入SqlServer,如有误请多多谅解

Last modification:June 15th, 2019 at 02:34 pm
如果觉得我的文章对你有用,请随意赞赏