您的位置:首页 > 数据库

写了一个数据库的连继ID号(格式:xxxx000001)

2007-06-27 15:30 204 查看
1CREATE PROCEDURE P_GetHId
2(
3 @len int, --长度
4 @str varchar(10), --前缀
5 @tableName varchar(20), --表名
6 @tableFild varchar(20) --字段名
7)
8AS
9BEGIN
10SET NOCOUNT ON
11declare @stra varchar(20)
12declare @sql varchar(800)
13
14set @stra='0000000000000000000'
15set @len=@len-len(@str)
16
17set @sql='
18 declare @fId varchar(50)
19 set @fId=''0''
20select top 1
21 @fId='+@tableFild+' from '+@tableName+'
22order by '+@tableFild+' desc'
23set @sql=@sql+'
24 select '''+@str+'''+left('''+@stra+''','+cast(@len as varchar(2))+'-len(right(
25 @fId,'+cast(@len as varchar(2))+')+1))
26 +cast(right(@fId,'+cast(@len as varchar(2))+')+1 as varchar(50))'
27exec(@sql)
28end
29GO
30

调用 exec P_GetHId 10,'PN','表名','字段名' 得到结果为 PN00000001 开始递增
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐