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


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

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

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


CREATE TABLE [dbo].[OrderTest](
    [OrderID] [varchar](50) NULL,
    [OrderName] [varchar](50) NULL
) ON [PRIMARY]


CREATE function [dbo].[getOrderNum]()
returns varchar(50)
as
begin
declare @code varchar(50)
--right(CONVERT(varchar(100), GETDATE(), 112),6) 获取时间 120105

select @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 @code
end
GO

测试例子:

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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值