好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識(shí)庫 > MySQL之遞歸小問題

MySQL之遞歸小問題

熱門標(biāo)簽:沈陽電銷外呼系統(tǒng)原理是什么 地圖標(biāo)注人員兼職 扎樣申請(qǐng)400電話 聊城智能外呼系統(tǒng)運(yùn)營商 電子地圖標(biāo)注電話 ps制作地圖標(biāo)注gif 寧波企業(yè)外呼系統(tǒng)收費(fèi) 上海智能外呼系統(tǒng)代理商 成都優(yōu)派外呼系統(tǒng)

mysql本身不支持遞歸語法,但可通過自連接變相實(shí)現(xiàn)一些簡(jiǎn)單的遞歸

--遞歸小方法:臨時(shí)表和普通表的不同方法
--這題使用的是2次臨時(shí)表查詢父節(jié)點(diǎn)的遞歸 

drop table if exists test;
create table test(
id varchar(100),
name varchar(20),
parentid varchar(100)
);
insert test select
'13ed38f1-3c24-dd81-492f-673686dff0f3', '大學(xué)教師', '37e2ea0a-1c31-3412-455a-5e60b8395f7d' union all select 
'1ce203ac-ee34-b902-6c10-c806f0f52876','小學(xué)教師', '37e2ea0a-1c31-3412-455a-5e60b8395f7d' union all select 
'37e2ea0a-1c31-3412-455a-5e60b8395f7d', '教師' ,      null                union all select 
'c877b7ea-4ed3-f472-9527-53e1618cb1dc', '高數(shù)老師', '13ed38f1-3c24-dd81-492f-673686dff0f3' union all select 
'ce50a471-2955-00fa-2fb7-198f6b45b1bd', '中學(xué)教師', '37e2ea0a-1c31-3412-455a-5e60b8395f7d';
 
delimiter $$
 
create procedure usp_ser(in idd varchar(100))
begin
declare lev int;
set lev=1;
drop table if exists tmp1;
drop table if exists tmp2;
CREATE TEMPORARY TABLE tmp1(id varchar(100),name varchar(20),parentid varchar(100),levv int);
CREATE TEMPORARY TABLE tmp2(pid varchar(100));
insert tmp2 select parentid from test where id=idd;
insert tmp1 select t.* , lev from test t join tmp2 a on t.id=a.pid;
    while exists(select 1 from tmp2 )
do
truncate tmp2;
set lev=lev+1;
insert tmp2 select t.id from test t join tmp1 a on t.id=a.parentid and a.levv=lev-1;
insert tmp1 select t.*,lev from test t join tmp2 a on t.id=a.pid;
end while ;
select id,name,parentid from tmp1;
end;
$$
 
delimiter ;
 
 call usp_ser('c877b7ea-4ed3-f472-9527-53e1618cb1dc');
+--------------------------------------+----------+--------------------------------------+
| id                  | name   | parentid               |
+--------------------------------------+----------+--------------------------------------+
| 13ed38f1-3c24-dd81-492f-673686dff0f3 | 大學(xué)教師 | 37e2ea0a-1c31-3412-455a-5e60b8395f7d |
| 37e2ea0a-1c31-3412-455a-5e60b8395f7d | 教師   | NULL                 |
+--------------------------------------+----------+--------------------------------------+
 
 call usp_ser('13ed38f1-3c24-dd81-492f-673686dff0f3');
+--------------------------------------+------+----------+
| id                  | name | parentid |
+--------------------------------------+------+----------+
| 37e2ea0a-1c31-3412-455a-5e60b8395f7d | 教師 | NULL   |
+--------------------------------------+------+----------+
 
 call usp_ser('37e2ea0a-1c31-3412-455a-5e60b8395f7d');
 
Empty set (0.02 sec)

上面的方法因?yàn)橛捎贛ySQL中不允許在同一語句中對(duì)臨時(shí)表多次引用,所以用2次臨時(shí)表
下面給個(gè)一次性用普通表完成的 查詢子節(jié)點(diǎn)的遞歸查詢

核心代碼

drop table if exists test;
create table test(
id INT,
parentid INT
);
insert test select
1, 0 UNION ALL SELECT 
2, 1 UNION ALL SELECT 
3, 1 UNION ALL SELECT 
4, 0 UNION ALL SELECT 
5, 2 UNION ALL SELECT 
6, 5 UNION ALL SELECT 
7, 3 ;
Go
 
delimiter $$
 
create procedure usp_ser(in idd varchar(100))
begin
declare lev int;
set lev=1;
drop table if exists tmp1;
CREATE TABLE tmp1(id INT,parentid INT ,levv INT,ppath VARCHAR(1000));

INSERT tmp1 SELECT *,lev,id FROM test WHERE parentid=idd;

 while row_count()>0
do

set lev=lev+1;
insert tmp1 select t.*,lev,concat(a.ppath,t.id) from test t join tmp1 a on t.parentid=a.id AND levv=LEV-1;
 
end while ;
SELECT * FROM tmp1;
 
end;
$$
 
delimiter ;
 
 call usp_ser(0);
 
/*
+------+----------+------+-------+
| id  | parentid | levv | ppath |
+------+----------+------+-------+
|  1 |    0 |  1 | 1   |
|  4 |    0 |  1 | 4   |
|  2 |    1 |  2 | 12  |
|  3 |    1 |  2 | 13  |
|  5 |    2 |  3 | 125  |
|  7 |    3 |  3 | 137  |
|  6 |    5 |  4 | 1256 |
+------+----------+------+-------+*/

您可能感興趣的文章:
  • MySQL遞歸查詢樹狀表的子節(jié)點(diǎn)、父節(jié)點(diǎn)具體實(shí)現(xiàn)
  • SQL如何實(shí)現(xiàn)MYSQL的遞歸查詢
  • php+mysql不用遞歸實(shí)現(xiàn)的無限級(jí)分類實(shí)例(非遞歸)
  • 使用遞歸刪除樹形結(jié)構(gòu)的所有子節(jié)點(diǎn)(java和mysql實(shí)現(xiàn))
  • 使用函數(shù)遞歸實(shí)現(xiàn)基于php和MySQL的動(dòng)態(tài)樹型菜單
  • 利用java+mysql遞歸實(shí)現(xiàn)拼接樹形JSON列表的方法示例
  • PHP遞歸寫入MySQL實(shí)現(xiàn)無限級(jí)分類數(shù)據(jù)操作示例
  • Mysql樹形遞歸查詢的實(shí)現(xiàn)方法

標(biāo)簽:朔州 AXB 三明 宿州 林芝 內(nèi)江 咸寧 汕頭

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL之遞歸小問題》,本文關(guān)鍵詞  MySQL,之,遞歸,小,問題,MySQL,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySQL之遞歸小問題》相關(guān)的同類信息!
  • 本頁收集關(guān)于MySQL之遞歸小問題的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 女人一级黄色片| 天天干天天色天天| 人妻亂伦中文字幕| 中文字幕精品三区无码亚洲| 狂躁美女BBBBBB视频| 香蕉eeww99国产在线观看| 女人脱精光直播app大全| 九七电影院97理论片在线播放 | 色综合小说久久综合图片| 又硬又粗进去好爽A片看| 夜玩亲女小妍未删节最新章节| 男女动态无遮挡动态图免费看| 免费精品一区二区三区在线观看| 精品国产欧美片一区二区免费网站 | 免费黄色福利视频| 美脚踩踏社区(我恋美脚社)| 圣子H娇喘抽搐喷潮高H| 国产精品美女久久久久图片| 大香焦伊在线| 免费观看精子狂喷视频| 4P一女三男前后夹激视频| 丝瓜日葵榴莲18岁| 亚洲国产精品日韩高清秒播| 午夜日韩电影| 国产又色又爽又黄又免费| www.99精品| 国产精品.XX视频.XXTV| 最近免费韩国日本视频| 把英语老师按在讲台上抄| 安斋らら爆乳AV在线无码电影| 成人动漫电影在线观看| 老师把我抱到办公室揉我的| 麻豆网站免费观看| 懂色区Av一区二区三区在线观看| 在厨房从后面啊好满h| 4tube在线观看视频| 亚洲日本中文字幕| 国产美女一级视频| 18亚洲男男Gay1069TV| 日本片在线看的免费网站 | 99久久免费国产香蕉麻豆|