生成流水号方法
思路:将表某一字段的默认值设置成自定义函数,该自定义函数完成流水号的创建。
例子:流水号字段要求:1.yymmdd+6位流水号(如20071113000001)2.当天流水号递增,第二天流水号重新从000001开始。
代码:
--函数
create function [dbo].[f_getid]()
returns varchar(14)
as
begin
declare @id varchar(14),
@dt varchar(8),
@maxdt varchar(8)
select @dt=convert(varchar(8), getdate(),112)
select @maxdt=left(isnull(max(id),convert(varchar(8), getdate(),112)),8) from bookid
if @maxdt=@dt
begin
select @id=@dt+right(1000001+isnull(right(max(id),6),0),6)
from bookid where id like @dt+'%'
end
if @maxdt<>@dt
begin
select @id=@dt+'000001'
end
return(@id)
end
--建表
CREATE TABLE [dbo].[bookid](
[id] [varchar](14) COLLATE Chinese_PRC_BIN NOT NULL CONSTRAINT [DF_bookid_id] DEFAULT ([dbo].[f_getid]()),
[ISBN] [nchar](30) COLLATE Chinese_PRC_BIN NOT NULL,
[inlibrary] [bit] NOT NULL CONSTRAINT [DF_bookid_inlibrary] DEFAULT ((1)),
CONSTRAINT [PK_bookid] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

浙公网安备 33010602011771号