写了一个数据库的连继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 开始递增
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 开始递增
相关文章推荐
- 在PHP中连接数据库时获取最后的一个ID
- 为取出的每个数组中增加一个自增的id(注意此ID不是数据库中存的自增id字段)
- 以用户指定的格式复制一个数据文件至数据库表或视图中。
- Android对数据库表的一个约定:每张表都应该至少有_id这列
- php答题思路很简单,给你一个思路 你在数据库里面放10个题, id questions options
- 这是一个问题,数据库的id生成方式GeneratedValue不设值报错
- 今天写了一个使用TreeView显示年-月-日-数据的四级格式(数据库表只有一个日期字段)
- 数据库表中有重复记录,如何删除这些重复记录保留ID最大的一个信息
- 给定一个树的节点ID,递归遍历出以这个节点为根的子树,以JSON格式返回
- 从数据库表Orders中计算出一个新的编号,格式为'B'+当前日期+新编号(Cyyyymmdd000)
- 把数据库中的所有记录以一个特定格式的字符显示出来的一个例子
- EXT 一个panel与tree结合读数据库json格式的例子
- 从数据库得到数据导出指定格式的xml文件,上传到NC接口,返回回执到本地一个xml文件(接上篇补充)
- mybatis数据库报错,不能单独把id拿出来,需要把他放进一个实体类中
- 从数据库得到数据导出指定格式的xml文件,上传到NC接口,返回回执到本地一个xml文件
- 数据库中其中一个表因为编码格式造成乱码的处理方法
- 解决方案 sql service 一个数据库 两张表 要求生成的 id不能有重复
- 在黑名单中增加nond_id,实现把一个用户加入黑名单后此店下所有设备都加入黑名单(只存入数据库中的表中)
- 一个提供数据库连接字符串格式帮助的网站
- 根据父级ID生成一个数据库不重复的新ID,(补漏,开头删除,中间删除,的ID都可以按顺序补上)