日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

數(shù)據(jù)庫添加級別編號的小案例

系統(tǒng) 1884 0

一級(2位),二級以后占用(3位),比如一級:01或02,二級:01001或01003,那三級編號就是01001001或01111112,我就寫了一個存儲過程【個人測試沒問題,可以參考一下】獲取即將要添加的編號(模擬場景:選擇權(quán)限的樹狀圖節(jié)點添加子集節(jié)點,需要計算出子集節(jié)點的將要插入的id)

ALTER PROCEDURE [dbo].[GetMaxId]
(
?? @tablename nvarchar(100),--表名
?? @idcol nvarchar(100),--列名
?? @parent nvarchar(100),--父級編號
?? @jb int,--級別
?? @ids nvarchar(50) output--最終的id
)
AS
BEGIN
declare @str nvarchar(2000)
set @str=''
?? --一級添加
?? if @jb=1
???? begin
????? set @str=@str+'select @ids=cast(max( '+@idcol+' ) as int)+1 from '+@tablename+' where len( '+@idcol+')<=2 '
????? exec sp_executesql @str,N'@ids nvarchar(50) output',@ids output
???? if(len(@ids) is null)
????????? set @ids='01'
???? else IF(len(@ids)<=2)
?????? set @ids='0'+@ids
???? end
?? else
??? begin
?????? set @str=@str+'select @ids=CAST(max(RIGHT( '+@idcol+',3))as int)+1 from '+@tablename+' where len( '+@idcol+')=2+('+CAST (
@jb as nvarchar(20)) +'-1)*3 and '+@idcol+' like '''+@parent+'%'''
?????? exec sp_executesql @str,N'@ids nvarchar(50) output',@ids output
??????? IF(len(@ids)=1)
???????? set @ids='00'+@ids
?????? else IF(len(@ids)=2)
???????? set @ids='0'+@ids
????? else if(len(@ids) is null)
?????????? set @ids='001'
?????? IF @parent<>'' and @parent is not null
??????? SET @ids=@parent+@ids
??? end
END

數(shù)據(jù)庫添加級別編號的小案例


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 扎鲁特旗| 乌拉特前旗| 屏东县| 宁夏| 西乡县| 大名县| 乌拉特前旗| 富锦市| 宁阳县| 杨浦区| 巫溪县| 杭州市| 临潭县| 苏州市| 永城市| 长治市| 竹山县| 财经| 嘉兴市| 孝感市| 鹤峰县| 舟山市| 和林格尔县| 开江县| 丰都县| 临泽县| 绥德县| 定结县| 广宁县| 金阳县| 获嘉县| 石城县| 呼玛县| 秭归县| 科技| 县级市| 临邑县| 平利县| 波密县| 长兴县| 彭山县|