SQL Server序列号的获取
建表:
1 USE [JX_IMS_CPK]
2 GO
3
4 SET ANSI_NULLS ON
5 GO
6
7 SET QUOTED_IDENTIFIER ON
8 GO
9
10 CREATE TABLE [dbo].[WCS_Seq](
11 [SeqType] [int] NOT NULL,
12 [SeqVal] [bigint] NOT NULL,
13 [SeqTime] [datetime] NOT NULL
14 ) ON [PRIMARY]
15 GO
16
17 EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'类型(1-任务单号)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WCS_Seq', @level2type=N'COLUMN',@level2name=N'SeqType'
18 GO
19
20 EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'序列值' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WCS_Seq', @level2type=N'COLUMN',@level2name=N'SeqVal'
21 GO
22
23 EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'序列时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WCS_Seq', @level2type=N'COLUMN',@level2name=N'SeqTime'
24 GO
25
26 EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'序列表' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WCS_Seq'
27 GO
获取序列:
1 USE [JX_IMS_CPK]
2 GO
3
4 SET ANSI_NULLS ON
5 GO
6 SET QUOTED_IDENTIFIER ON
7 GO
8 ALTER PROCEDURE [dbo].[WCS_GetTaskCode]
9 @O_TaskCode VARCHAR(50)=NULL OUTPUT
10 --获取【任务号】
11 AS
12 BEGIN
13 DECLARE @V_SeqType INT=1, --类型
14 @SeqCount INT,
15 @NowTime DATETIME=CAST(GETDATE() AS DATE),
16 @SeqVal BIGINT,
17 @SeqTime DATETIME,
18 @NextVal BIGINT=1;
19
20 SELECT @SeqCount = COUNT(1)
21 FROM WCS_Seq a
22 WHERE a.SeqType=@V_SeqType;
23
24 IF @SeqCount = 0
25 BEGIN
26 INSERT INTO WCS_Seq
27 SELECT @V_SeqType,@NextVal,@NowTime;
28 SET @O_TaskCode=RIGHT(CONVERT(VARCHAR(50),@NowTime,112),6)+RIGHT('0000'+CAST(@NextVal AS VARCHAR(4)),4);
29 SELECT @O_TaskCode;
30 RETURN;
31 END;
32
33 SELECT TOP 1
34 @SeqVal = a.SeqVal ,
35 @SeqTime = a.SeqTime
36 FROM WCS_Seq a
37 WHERE a.SeqType=@V_SeqType;
38
39 IF @SeqTime = @NowTime
40 SET @NextVal = @SeqVal + 1;
41 ELSE
42 SET @NextVal = 1;
43
44 UPDATE a
45 SET a.SeqVal = @NextVal ,
46 a.SeqTime = @NowTime
47 FROM WCS_Seq a
48 WHERE a.SeqVal = @SeqVal
49 AND a.SeqType=@V_SeqType;
50
51 SET @O_TaskCode=RIGHT(CONVERT(VARCHAR(50),@NowTime,112),6)+RIGHT('0000'+CAST(@NextVal AS VARCHAR(4)),4);
52 END;
使用方法:
1 USE [JX_IMS_CPK]
2 GO
3
4 DECLARE @return_value int,
5 @O_TaskCode varchar(50)
6
7 EXEC @return_value = [dbo].[WCS_GetTaskCode]
8 @O_TaskCode = @O_TaskCode OUTPUT
9
10 SELECT @O_TaskCode as N'@O_TaskCode'
11
12 SELECT 'Return Value' = @return_value
13
14 GO
结果:
2004080008
0
SQL Server序列号的获取的更多相关文章
- SQL Server中如何获取当前年,月,日,时,分,秒
分类: SQL Server select GETDATE() as '当前日期',DateName(year,GetDate()) as '年',DateName(month,GetDate()) ...
- Yii2.0调用sql server存储过程并获取返回值
1.首先展示创建sql server存储过程的语句,创建一个简单的存储过程,测试用. SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE P ...
- qt调用sql server存储过程并获取output参数
最近新做的一个项目需要使用qt5连接另一台机器上的sql server,虽然网上已有类似文章,但还是有些其中很少提及的问题,故在这里汇总下: qt连接sql server可以参考这篇文章: <Q ...
- SQL Server和MySql获取当前数据库每个表的列数
Sql server:(连接数据库后,点击当前数据库再新建查询) select count(c.name),o.name from syscolumns c left join sysobjects ...
- SQL SERVER 中如何获取日期(一个月的最后一日、一年的第一日等等)
https://blog.csdn.net/deepwishly/article/details/9101307 这是计算一个月第一天的SQL 脚本: SELECT DATEADD(mm, DAT ...
- [SQL Server] 时间处理:获取今天的00:00:00/获取今天的23:59:59
获取今天的00:00:00 SELECT CONVERT(DATETIME,CONVERT(VARCHAR(10),GETDATE(),120)) 获取今天的23:59:59 1.SELECT DAT ...
- 【SQL server基础】获取当前时间并固定格式
Select CONVERT(varchar(), GETDATE(), ): // Select CONVERT(varchar(), GETDATE(), ): Select CONVERT(va ...
- 找到SQL Server的序列号
有时候希望获取当前机器上安装的SQL Server序列号,但注册表中序列号是经过加密的,因此我写了一个小工具获取当前SQL Server的序列号.程序比较粗糙,没有做错误验证. ...
- 获取sql server数据库表结构
if exists (select 1 from sysobjects where name = 'sysproperties'and xtype = 'V')begin DROP VIEW s ...
- Sql Server CONVERT获取当前日期及日期样式
Sql Server CONVERT获取当前日期及日期样式(转)(2012-06-06 12:00:24) 转载▼ // 标签: 杂谈 分类: SQL Sql Server CONVERT样式 获取当 ...
随机推荐
- C# 13(.Net 9) 中的新特性 - 扩展类型
C# 13 即 .Net 9 按照计划会在2024年11月发布,目前一些新特性已经定型,今天让我们来预览一个比较大型比较重要的新特性: 扩展类型 Extension types 在5月份的微软 Bui ...
- 用基础Array数组实现动态数组、链表、栈和队列
代码地址: https://gitee.com/Tom-shushu/Algorithm-and-Data-Structure.git 一.ArrayList自定义封装 package com.zho ...
- python重拾第七天-面向对象进阶
本节内容: 面向对象高级语法部分 经典类vs新式类 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 作业:开发一个支持多用户在线的FTP程序 面向对象高级语法部分 经典 ...
- 记一个,生产遇到的redission锁,释放问题:lock.tryLock(0, 0, TimeUnit.SECONDS)
package com.aswatson.cdc.test; import org.redisson.Redisson; import org.redisson.api.RLock; import o ...
- nicegui 第一次
from nicegui import ui from ex4nicegui.reactive import rxui from ex4nicegui import to_ref,ref_comput ...
- Qt中全局变量的定义和使用
全局变量的定义 现在需要将自定义的STRParameter变量定义为全局变量,就需要新建两个文件,分别命名为"global.h"和"global.cpp" 在g ...
- SurveillanceStation破解版 SurveillanceStation-x86_64-8.2.2-5766
直接手动安装好套件,许可就是65535.安装的时候提示套件损坏,不理继续安装.不过这个版本有时间炸弹问题,使用几个小时后会出现摄像机消失问题,显示摄像机被删除,但是配置其实是在的.只要禁用套件再启用一 ...
- oeasy教您玩转vim - 29 - # 垂直翻页
垂直翻页 回忆上节课内容 我们上次了解了横向滚动的相关信息 横滚幅度 - sidescroll 横滚留位 - sidescrolloff 自动换行 - wrap g j.g k 可以逐行上下移动 ...
- Beizer。。。。。
<html> <head>AS</head> <script> var cvs; var context; //context.fill();//填充 ...
- springboot3整合高版本spring data neo4j
本博客适用于springboo data neo4j 7.2.6版本,详情阅读官网https://docs.spring.io/spring-data/neo4j/reference/7.2/intr ...