SQL自动生成流水号

select convert(char(6),getdate(),12)

--下面的代码生成长度为8的编号,编号以BH开头,其余6位为流水号。
--得到新编号的函数
CREATE FUNCTION f_NextBH()
RETURNS char(8)
AS
BEGIN
--从表里得到最大值加个1000001就增一个1
 RETURN(SELECT 'BH'+RIGHT(1000001+ISNULL(RIGHT(MAX(BH),6),0),6) FROM tb WITH(XLOCK,PAGLOCK))
END
GO

--在表中应用函数
CREATE TABLE tb(
BH char(8) PRIMARY KEY DEFAULT dbo.f_NextBH(),
col int)

建脚本 .bat  ,内容如下

osql /E /d"TestDB" /Q"declare @i int set @i = 0 while @i<=1000 begin insert tb(col) values(@i) set @i = @i+1 end"

你可能感兴趣的:(数据库)