利用sql函数生成不重复的订单号的代码
来源:asp之家 发布时间:2012-01-05 19:02:55
代码如下:
ALTER function [dbo].[GetOrderNum](
@ebaystockflag varchar(20)//规则字母
)
returns varchar(100)
AS
BEGIN
declare @dt CHAR(8)
declare @flag varchar(20)
set @flag='B'+@ebaystockflag
set @dt=CONVERT(CHAR(8),GETDATE(),112)
declare @max varchar(100)
SELECT @max=MAX(OrderNumber)
FROM tb_EbayOrder WITH(XLOCK,PAGLOCK)
WHERE OrderNumber like @flag+'%'
set @max=isnull(@max, @flag+@dt+'000')--查不到结果给个默认值
declare @a varchar(100)
declare @num varchar(10)
declare @ordernum varchar(20)
set @a=Convert(varchar,right(@max,len(@max)-10))--截取数字部分
if(LEFT(@a,1)=0)--以0开头
begin
if(SUBSTRING(@a,2,1)=0)--有两个0
begin
set @num=Convert(varchar,SUBSTRING(@a,3,LEN(@a-2))+1)
end
else if(SUBSTRING(@a,3,1)=0 and SUBSTRING(@a,2,1)=0)--有三个0
begin
set @num=1
end
else begin --只有一个0的情况
set @num=Convert(int,SUBSTRING(@a,2,LEN(@a))+1)
end
end
else begin --数字大于100的情况
set @num=Convert(varchar,@a+1)
end
if(LEN(@num)=1)--截取后不满三位的补0
begin set @num='00'+@num end
if(LEN(@num)=2)
begin set @num='0'+@num end
set @ordernum=@flag+@dt+@num
return @ordernum
END
调用:在事务中先锁定要操作的表
代码如下:
SELECT * FROM tb_EbayOrder WITH (TABLOCKX)
SELECT * FROM tb_EbayOrderList WITH (TABLOCKX)
SELECT * FROM tb_EbayOrderUserInfo WITH (TABLOCKX)
调用:select dbo.GetOrderNum(@ebaystockflag)
猜你喜欢
- 本文实例讲述了codeigniter发送邮件并打印调试信息的方法。分享给大家供大家参考。具体如下:这里的codeigniter代码实现发送邮
- 1 递归函数的特点特点一个函数 内部 调用自己函数内部可以调用其他函数,当然在函数内部也可以调用自己代码特点函数内部的 代码 是相同的,只是
- 用python给自己做个练习系统刷题吧!实现效果实现代码选择题def xuanze(): global flag2
- 1.func Fields(s string) []string,这个函数的作用是按照1:n个空格来分割字符串最后返回的是[]string的
- 项目有时要用一些Ajax的效果,因为比较简单,也就没有去用什么Ajax.net之类的东西,手写代码也就实现了。、第二天,有人反馈错误;说是只
- 目录目标为什么操作步骤工程截图运行效果完整源代码目标在SpringBoot中集成内存数据库Sqlite.为什么像H2、hsqldb、derb
- 1.remove: 删除单个元素,删除首个符合条件的元素,按值删除,从左向右依次删除符合条件的值举例说明:>>> str=
- 时间对象(Date())比较简单,本文旨在为初学者入门使用,大牛可略过!本文承接基础知识实例,说一下实例的要求:在页面中输出当前客户端时间(
- python pyaudio音频录制安装所需要的包pip install pyaudio监听麦克风import pyaudioimport
- PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘操作,利用它可以实现自动化任务本章介绍了许多不
- 先来看段mysql查询文章回复语句:#查询文章回复-- ------------------------------ Procedure s
- ckptfrom tensorflow.python import pywrap_tensorflow checkpoint_path =
- 本文实例讲述了Python实现替换文件中指定内容的方法。分享给大家供大家参考,具体如下:这里使用python编写的程序,实现如下功能:将文件
- 本文实例讲述了Python整型运算之布尔型、标准整型、长整型操作。分享给大家供大家参考,具体如下:#coding=utf8def integ
- 什么是索引?哪些数据类型里有索引的概念? —> 字符串、列表、元组从最左边记录的位置开始就是索引索引用数字表示,起
- 目录为什么需要分区?分区的策略分区隐患为什么需要分区?当面对巨大的数据表的时候,至少有一件事情是确定的,表太大了以至于每次查询的时候我们没法
- 本文实例讲述了Python实现将数据写入netCDF4中的方法。分享给大家供大家参考,具体如下:nc文件为处理气象数据文件。用户可以去htt
- 于是写测试程序。。。不行 下载最新的ODBC。。。还是不行 通过sql plus查询。。。咦?竟然也查不到。。。 于是,折腾。。。折腾。。。
- 如下所示:fig.tight_layout()#调整整体空白 plt.subplots_adjust(wspace =0, hspace =
- 一个简单的tokenizer分词(tokenization)任务是Python字符串处理中最为常见任务了。我们这里讲解用正则表达式构建简单的