惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
S
SegmentFault 最新的问题
Jina AI
Jina AI
D
DataBreaches.Net
人人都是产品经理
人人都是产品经理
罗磊的独立博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
爱范儿
爱范儿
大猫的无限游戏
大猫的无限游戏
C
Check Point Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
博客园 - 三生石上(FineUI控件)
B
Blog
博客园 - 【当耐特】
博客园 - Franky
M
MIT News - Artificial intelligence
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
L
LangChain Blog
MyScale Blog
MyScale Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 叶小钗
Last Week in AI
Last Week in AI
Engineering at Meta
Engineering at Meta

博客园 - 牛腩

鸿蒙开发DevEco Studio创建hello world项目 cmd命令行下用命令执行SQL脚本到SQL Server数据库中 Blazor项目中建立WebApi NETCORE下用SKIT类库发送微信模板消息 ASP.NET CORE微信支付回调示例代码 nuget离线安装 高德地图API使用(根据地址查经纬度,计算二个坐标之间的距离) ModernWMS - 仓库管理系统简记 .NET开源商城CoreShop简记 windows服务器上用nginx转发到iis中的网站 uniapp中防抖函数debounce的使用 winform中的picturebox控件显示和保存byte[]图片 ASP.NET CORE kindeditor在线编辑器示例(上传多图和插入VIDEO标签) uni app uview新增商品页(无限级分类选择和多图上传) C#获取HTML源码 Ant for Blazor做单个表的增删查改 ASP.NET MVC中使用Autofac依赖注入 NET8下生成二维码 NET 7 中使用Session
SQL Server数据库中用存储过程来取顺序号
牛腩 · 2025-03-04 · via 博客园 - 牛腩

SQL Server数据库中用存储过程来取顺序号

表sys_number,字段name字符,表示前缀,value数字,一个一个递增

存储过程代码:

存储过程代码:

 
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[usp_GetSysid]
        @name varchar(50),
        @initvalue int,
        @id int output
as 

/*===获取各种编号====*/
--开始事务
begin tran tr
--判断是否存在
if not exists(select * from sys_number where name=@name )
    begin
        insert into Sys_Number(name,value) values(@name,@initvalue)
    end
--取值
select @id=value from sys_number with(XLOCK) where name=@name 
if @id<@initvalue set @id=@initvalue
--更新值
update sys_number set value=@id+1 where name=@name --and value=@id

--提交事务
if @@error!=0 
begin
    rollback tran tr
    select 0
end
else
begin
    commit tran tr
    select @id
end

使用:

DECLARE    @return_value int,
        @id int

EXEC    @return_value = [dbo].[usp_GetSysid]
        @name = N'GH20250304', --前缀
        @initvalue = 1,  --初始值
        @id = @id OUTPUT  --返回顺序号,前台程序可以拼接上name