亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

數據庫遞歸添加數據

數據庫遞歸添加數據

一只名叫tom的貓 2018-12-06 23:41:48
字段名?字段類型?是否為空?主外鍵?備注Nav_Id?int??主?主鍵Nav_Parent ?Int ???父節點Nav_Title?Char(20)???標題Nav_Url?Char(100)???連接Nav_Statae?Int ???狀態(默認0正常)Nav_ Reserve?Char(100)???備用 ? 如何數據庫遞歸添加數據,2級、3級菜單,怎么添加,和查詢,謝謝!幫幫忙!謝謝了!
查看完整描述

4 回答

?
海綿寶寶撒

TA貢獻1809條經驗 獲得超8個贊

1 create proc sqlGetMenuTree 2 ( 3 @p_pid id, --上級菜單編號 4 @p_level int --當前菜單登錄(在顯示的時候可能會用到) 5 ) 6 as 7 begin 8 9 declare @v_pid uniqueidentifier 10 declare @v_level int 11 set @v_pid=@p_pid 12 set @v_level=@p_level 13 14 declare @v_id uniqueidentifier 15 declare @v_name varchar(100) 16 declare @v_issys bit 17 declare crsr cursor local forward_only for 18 select col_id,col_name 19 from sys_menus 20 where col_pid=@p_pid 21 order by col_order 22 open crsr 23 fetch next from crsr into @v_id,@v_name 24 while(@@fetch_status=0 ) 25 begin 26 insert into #temp_menu 27 select @v_id,@v_pid,@v_name,@v_level 28 declare @c_level int 29 set @c_level=@v_level+1 30 31 exec sqlGetMenuTree @v_id,@c_level 32 fetch next from crsr into @v_id,@v_name 33 end 34 close crsr 35 deallocate crsr 36 end ? ? 如果單單初始化用的或數據量不大的可以考慮用一下游標 ? 1 create table #temp_menu 2 ( 3 col_id uniqueidentifier, 4 col_pid uniqueidentifier, 5 col_name varchar(50), 6 col_level int, 7 ) 8 exec sqlGetMenuTree '0',0 9 select 10 col_level, 11 col_id, 12 col_name, 13 replicate('  ',col_level)+col_name as col_disname, 14 a.col_pid 15 from #temp_menu
查看完整回答
反對 回復 2018-12-09
  • 4 回答
  • 0 關注
  • 463 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號