美文网首页
SQL Server数据库中用存储过程来取顺序号

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

作者: niunan | 来源:发表于2025-03-03 13:21 被阅读0次

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

相关文章

  • SQL Server存储过程总结

    SQL Server存储过程总结 存储过程简介: 存储过程(Stored Procedure)是在大型数据库中,一...

  • Sql sever 清空数据库所有数据

    1、清空SQL Server数据库中所有表数据编写存储过程脚本: 说明: 存储过程sp_MSForEachTabl...

  • SQL Server OFFSET 分页存储过程

    SQL Server OFFSET 分页存储过程 普通sql

  • 数据库学习目录

    数据库 数据库关系 关系型数据库 有了VARCHAR,为什么还要有CHAR? sql server 查询存储过程指...

  • SQL SERVER 单游标存储过程

    SQL SERVER 单游标存储过程模板

  • SQL之存储过程

    SQL Server 存储过程 存储过程(Stored Procedure)是一组为了完成特定功能的SQL 语句集...

  • SQL SERVER存储过程

    什么是存储过程 存储过程就是能完成一定操作的一组SQL语句。这里说的SQL语句是指ANSI SQL的扩展集T-SQ...

  • Sql Server 存储过程

    存储过程 一组预编译的SQL语句,包含数据操作语句,逻辑控制语句和调用函数等 优点 执行速度快 允许模块化程序设计...

  • SQL Server存储过程

    存储过程(stored procedure)是一组为了完成特定功能的SQL语句集合,经编译后存储在服务器端的数据库...

  • sql server 存储过程

    存储过程(procedure)是 sql 语句和流程控制语句的预编译集合。 它的作用就是具封装代码,被外部程序调用...

网友评论

      本文标题:SQL Server数据库中用存储过程来取顺序号

      本文链接:https://www.haomeiwen.com/subject/dvxcmjtx.html