1. 程式人生 > 其它 >Mysql刷題筆記 12.25 遞迴建立路徑

Mysql刷題筆記 12.25 遞迴建立路徑

技術標籤:mysqlmysql

Mysql練習

-- 12.25 遞迴建立路徑
T1225
+------+------+
| ID   | PID  |
+------+------+
|    1 |    0 |
|    2 |    1 |
|    3 |    2 |
|    4 |    3 |
+------+------+
結果
+------+------+------------+
| ID   | PID  | PATH       |
+------+------+------------+
|    1 |    0 | 1          |
|    2
| 1 | 1->2 | | 3 | 2 | 1->2->3 | | 4 | 3 | 1->2->3->4 | +------+------+------------+ DROP FUNCTION IF EXISTS f1225; DELIMITER // -- 修改結束符 CREATE FUNCTION f1225(Id INT) RETURNS VARCHAR(4000) BEGIN DECLARE sTemp VARCHAR(4000); DECLARE idTemp INTEGER; SET sTemp=
'1'; SET idTemp = 1; WHILE idTemp < Id DO SET sTemp= CONCAT(STemp,'->',cast((idTemp+1) as CHAR)); SET idTemp = idTemp +1; END WHILE; RETURN sTemp; END // DELIMITER ; SELECT ID,PID,f1225(ID) AS PATH FROM T1225;