利用数据库函数生成不重复的订单号

来源:互联网 发布:超级淘宝系统王铁柱 编辑:程序博客网 时间:2024/06/05 06:35


主要利用函数 getOrderNum()生成 订单号

订单规则,当前年数后2位+月数+日期+五位数字

新的一天 数字从00001 开始逐增加


CREATE TABLE [dbo].[OrderTest](    [OrderID] [varchar](50) NULL,    [OrderName] [varchar](50) NULL) ON [PRIMARY]CREATE function [dbo].[getOrderNum]()returns varchar(50)asbegindeclare @code varchar(50)--right(CONVERT(varchar(100), GETDATE(), 112),6) 获取时间 120105select @code=right(CONVERT(varchar(100), GETDATE(), 112),6) +right('00000'+cast(isnull(max(right(OrderID,5)),0)+1 as varchar),5)  from    OrderTest WITH(XLOCK,PAGLOCK)  where left(OrderID,6)= right(CONVERT(varchar(100), GETDATE(), 112),6) --创建表级锁    return @codeendGO

测试例子:

insert into OrderTest values(dbo.getOrderNum(),'clc2008');

引用:http://www.haogongju.net/art/1202995

================================================================

csharp(C#) 调用SQL自定义函数返回值

跟C#调用存储过程一样

参考例子:http://www.cnblogs.com/geovindu/archive/2010/03/19/1689887.html