oracle中FUNCTION FUN_GET函数转化mysql函数
以下是需要改的函数
CREATE OR REPLACE FUNCTION FUN_GET_ORG_ID (child_dept_id IN int
return int
is
retCode int:=-1;
BEGIN
SELECT
distinct dept_Id INTO retCode
FROM
t_Department_Info
WHERE
par_dept_id is null
start with dept_Id = child_dept_id
connect by prior par_dept_id = dept_Id;
RETURN (retCode) ;
END ;
请问该怎么改
这题的解题关键点在于mysql没有start with
SELECT
distinct dept_Id INTO
FROM
t_Department_Info
WHERE
par_dept_id is null
start with dept_Id = '1'
connect by prior par_dept_id = dept_Id;
这个sql是无法直接执行的,可以参考这个https://blog.csdn.net/qq_25857847/article/details/107784445
这个是我之前写的ysql递归sql,可以仿照看下
SELECT t2.COMID
FROM
(
SELECT
@r AS _comcode,
(SELECT @r := PARENTID FROM prpstest WHERE COMID = _comcode) AS PARENTID,
@l := @l + 1 AS lvl
FROM
(SELECT @r := '21010101', @l := 0) vars, prpstest AS h
) t1
JOIN prpstest t2
ON t1._comcode = t2.COMID ;