亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

樹形數(shù)據(jù)編號重排的通用存儲過程

系統(tǒng) 1686 0

--重排編碼的存儲過程
CREATE PROC p_RTaxisCode
@TableName sysname,??? --重排編碼的表名
@FieldName sysname,??? --編碼字段名
@CodeRule varchar(100)? --以逗號分隔的編碼規(guī)則,每層編碼的長度,比如1,2,3,表示有三層編碼,第一層長度為1,第二層長度為2,第三層長度為3
AS
--參數(shù)檢查
IF ISNULL(OBJECTPROPERTY(OBJECT_ID(@TableName),N'IsUserTable'),0)=0
BEGIN
?RAISERROR(N'"%s"不存在,或者不是用戶表',1,16,@TableName)
?RETURN
END
IF NOT EXISTS(SELECT * FROM SYSCOLUMNS WHERE ID=OBJECT_ID(@TableName) AND name=@FieldName )
BEGIN
?RAISERROR(N'列名"%s"在用戶表"%s"中無效',1,16,@FieldName,@TableName)
?RETURN?
END
IF ISNULL(@CodeRule,'')=''
BEGIN
?RAISERROR(N'必須編碼規(guī)則字符串',1,16)
?RETURN?
END
IF PATINDEX(N'%[^0-9^,]%',@CodeRule)>0
BEGIN
?RAISERROR(N'編碼規(guī)則字符串"%s"中只能包含數(shù)字和逗號(,)',1,16,@CodeRule)
?RETURN?
END

--生成編碼重排處理語句
DECLARE @s nvarchar(4000),@len int,@lens int
SELECT
?@TableName=QUOTENAME(@TableName),
?@FieldName=QUOTENAME(@FieldName),
?@len=LEFT(@CodeRule,CHARINDEX(N',',@CodeRule+N',')-1),
?@lens=@len,
?@CodeRule=STUFF(@CodeRule,1,CHARINDEX(N',',@CodeRule+N','),N'')+N',',
?@s=N'RIGHT('+CAST(POWER(10,@len) as varchar)
??+N'+(SELECT COUNT(DISTINCT '+@FieldName
??+N') FROM '+@TableName
??+N' WHERE '+@FieldName+N'<=a.'+@FieldName
??+N' AND LEN( '+@FieldName+N')='+CAST(@len as varchar)
??+N'),'+CAST(@len as varchar)+N')'

WHILE LEN(@CodeRule)>1
BEGIN
?SELECT
??@len=LEFT(@CodeRule,CHARINDEX(N',',@CodeRule)-1),
??@s=@s
???+N'+CASE WHEN LEN( '+@FieldName
???+N')>'+CAST(@lens as varchar)
???+N' THEN RIGHT('+CAST(POWER(10,@len) as varchar)
???+N'+(SELECT COUNT(DISTINCT '+@FieldName
???+N') FROM '+@TableName
???+N' WHERE '+@FieldName+N'<=a.'+@FieldName
???+N' AND '+@FieldName+N' LIKE LEFT( a.'+@FieldName
???+N','+CAST(@lens as varchar)
???+N')+'''+REPLICATE(N'_',@len)
???+N'''),'+CAST(@len as varchar)
???+N') ELSE '''' END',
??@lens=@lens+@len,
??@CodeRule=STUFF(@CodeRule,1,CHARINDEX(N',',@CodeRule),N'')
END
EXEC(N'UPDATE a SET '+@FieldName+N'='+@s+N' FROM '+@TableName+N' a')

樹形數(shù)據(jù)編號重排的通用存儲過程


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲国产精品乱码一区二区三区 | 亚洲四房 | 爱爱爱免费视频 | 亚洲成精品动漫久久精久 | 亚洲精品久久一区二区无卡 | 亚洲精品高清国产麻豆专区 | 日日夜夜操天天干 | 成人做爰小视频 | 久久亚洲精中文字幕冲田杏梨 | 国产精品一级毛片不收费 | 国产91精品一区二区视色 | 久久精品日日躁夜夜躁欧美 | 99re国产精品视频首页 | 99热这里有免费国产精品 | 久久婷婷国产麻豆91天堂 | 久久er国产精品免费观看8 | 精品国产调教最大网站女王 | 大学生一一级毛片在线播放 | 亚洲精品aⅴ一区二区三区 亚洲精品ccc | 亚洲成人伦理 | 咪咪色综合 | 老司机精品视频个人在观看 | 久久久综合网 | 日韩成人小视频 | 国产a做爰全过程片 | 免费中日高清无专码有限公司 | 国产精品欧美亚洲韩国日本不卡 | 又黄又爽又成人免费视频 | 午夜 福利 | 亚洲精品一区二区三区网址 | 老司机午夜在线视频免费观 | 日韩国产中文字幕 | 欧美成人精品高清在线播放 | 亚洲国产伦理 | 五月天婷婷缴情五月免费观看 | 911视频免费 | 深夜影院老司机69影院 | 日本人成年视频在线观看 | 91久久青草精品38国产 | 久久伊人精品 | 高清性色生活片久久久 |