做一个旅店客人得信息添加的功能
用SQL 写得数据库 其中旅客编码的列名是CLIENTCODE 类型是char(12)
是由12位编码组成得 1-8位为登记日期 如20091111
第9至12位为顺序号,顺序号每天零点置0,以“0001”为开始,每次递增1。
那位高手 指点指点小弟设计的时间不长 急需 指点 请回答详细些最好有代码参考
做一个旅店客人得信息添加的功能
用SQL 写得数据库 其中旅客编码的列名是CLIENTCODE 类型是char(12)
是由12位编码组成得 1-8位为登记日期 如20091111
第9至12位为顺序号,顺序号每天零点置0,以“0001”为开始,每次递增1。
那位高手 指点指点小弟设计的时间不长 急需 指点 请回答详细些最好有代码参考
你的表还需要一个时间字段。
给你写个 SQL 函数吧。
FUNCTION getSerial()
RETURNS NVARCHAr(20) AS
BEGIN
DECLARE @Result NVARCHAr(20), @Now DATETIME
SET @Now = GETDATE()
SELECt TOP 1 @Result = CLIENTCODE FROM {旅客编码表} WITH(HOLDLOCK) WHERe DATEDIFF(DAY, {表中的时间字段,没有自己增加一个,默认值 getdate()}, @Now) = 0 ORDER BY {表中的时间字段,没有自己增加一个,默认值 getdate()} DESC
IF(@Result IS NOT NULL AND @Result <> '')
SET @Result = RIGHt(STR(CAST('1' + RIGHt(@Result, 4) AS INT) + 1), 4)
ELSE
SET @Result = '0001'
SET @Result = CONVERT(NVARCHAR, @Now, 112) + @Result
RETURN @Result
END