首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 冲浪宝典 > 网络资源 > 从数据库表Orders中计算出一个新的编号,格式为'B'+当前日期+新编号(Cyyyymmdd000)
【标  题】:从数据库表Orders中计算出一个新的编号,格式为'B'+当前日期+新编号(Cyyyymmdd000)
【关键字】:Orders,Cyyyymmdd000
【来  源】:http://blog.csdn.net/jiangshaofen/archive/2006/09/22/1265697.aspx

从数据库表Orders中计算出一个新的编号,格式为'B'+当前日期+新编号(Cyyyymmdd000)

CREATE procedure up_GetBeautifulOrderNumber(@orderNumber char(12) out)
as
begin
declare @number char(11)--编号的后11位
declare @maxDate decimal--从数据库表中当前最大的编号中取出的日期
declare @currentDate decimal    --当前日期
declare @currentNumber char(12) --数据库表中当前最大的编号
declare @day char(2) --当前日期,如果是一位数,需要将其转换为两位数
set @day=(select case len(datename(d,getdate()))
 when 1 then '0'+ cast(datename(d,getdate()) as char(1))
 when 2 then cast(datename(d,getdate()) as char(2)) end)
set @currentDate=cast((datename(yyyy,getdate())+datename(mm,getdate())+ @day) as decimal)
if not exists(select top 1 OrderID from Orders order by OrderID desc)
begin
 set @number=cast((@currentDate *1000) as char(11))
end
else
begin
  set @currentNumber=(select top 1 OrderID from Orders order by OrderID desc)
  set @maxDate=cast(substring(@currentNumber, 2,8) as decimal)
  if @maxDate<@currentDate
    begin
 set @number=cast(@currentDate *1000 as char(11))
    end
  else if @maxDate=@currentDate
    begin
 set @number=cast((cast(substring(@currentNumber,2,12) as decimal)+1) as char(11))
    end
  else
    begin
 print @maxDate
 declare @errMessage varchar(100)
 set @errMessage=cast(@maxDate as char(10))+ '错误,数据库表中纪录的最大日期有错误,请与数据库管理员联系。'
 raiserror(@errMessage, 16, 1)
    end
end
   set @orderNumber='B'+@number
end 
DB-difference:【上一篇】
Delphi7中QuickRep报表的分栏,分列打印.:【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • 数据库设计指南(2)
  • jsp程序员
  • c++ 编译器for aix的详细安装(转自CU)
  • 支付宝接口(刚完成,应该是目前最好的了,含源代码)
  • join 使用详解方式
  • 简明x86汇编语言教程(7)
  • pear::page分页类简介
  • OA项目实施经验谈
  • 常用的几个Linux命令
  • 3口11M无线打印服务器
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.