zoukankan      html  css  js  c++  java
  • 写了一个数据库的连继ID号(格式:xxxx000001)

     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 开始递增
  • 相关阅读:
    暑期测试训练3
    对于在线段树上修改整段区间的理解
    UVA 11090 判负圈问题
    ZOJ 2588 求割边问题
    POJ 1523 网络连通
    hdu 1163
    hdu 1703
    hdu 2577 模拟
    hdu 3836 强连通+缩点:加边构强连通
    hdu 2571
  • 原文地址:https://www.cnblogs.com/daxia/p/797745.html
Copyright © 2011-2022 走看看