生成最大单号 scope_identity

Posted zoumin123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生成最大单号 scope_identity相关的知识,希望对你有一定的参考价值。

-- 假定要给T_0101001创建一个Sequence
-- 创建表SeqT_0101001
create table SeqT_0101001(
      -- ID列为自增列
      SeqID int identity(1,1) primary key,
      -- Sequence值
      SeqVal varchar(1)
)

-- 创建从SeqT_0101001表获取最新Sequence值的存储过程
create procedure P_GetNewSeqVal_SeqT_0101001
as
begin
      -- 声明新Sequence值变量
      declare @NewSeqValue int
      -- 设置插入、删除操作后的条数显示取消
      set NOCOUNT ON
      -- 插入新值到SeqT_0101001表
      insert into SeqT_0101001 (SeqVal) values (a)   
      -- 设置新Sequence值为插入到SeqT_0101001表的标识列内的最后一个标识值  
      set @NewSeqValue = scope_identity()   
      -- 删除SeqT_0101001表(不显示被锁行)
      delete from SeqT_0101001 WITH (READPAST)
-- 返回新Sequence值
return @NewSeqValue
END

--使用Sequence
Declare @NewSeqVal int
Exec @NewSeqVal =  P_GetNewSeqVal_SeqT_0101001
Print @NewSeqVal
select Convert(char(8),Getdate(),112) + right(00000+CAST(@NewSeqVal AS varchar(5)),5) as mySeq

--TRUNCATE  table  SeqT_0101001

 

以上是关于生成最大单号 scope_identity的主要内容,如果未能解决你的问题,请参考以下文章

PHP购物车怎么生成订单号

mysql使用触发器生成唯一订单号,

Oracle 函数“自动生成订单号”

执行标量();使用 scope_identity() 生成“System.InvalidCastException:指定的强制转换无效”[重复]

php 使用 Scope_identity 返回 id

java 一号店生成订单号的部分代码