Llamadas recursivas en mysql
Inserte algunos datos de prueba:
Unir todo es una declaración de inicialización, que solo se ejecutará una vez para encontrar esta fila de registros del departamento de desarrollo.
A continuación, la siguiente combinación utilizará la declaración inicializada para ir a la tabla de organización original, obtener todos los subdepartamentos del departamento de desarrollo y luego usar estos subdepartamentos para unirse a los departamentos inferiores.
Los resultados de la implementación son los siguientes:
Si desea consultar todos los departamentos superiores del departamento de desarrollo de la siguiente manera, solo necesita modificar la declaración de consulta recursiva anterior:
Los resultados de la implementación son los siguientes:
La expresión de tabla común recursiva "temp" no puede contener ambas
funciones de agregación o que no sean de ventana en un bloque de consulta recursivo
Base de datos relacional
Mysql tiene límites en la profundidad de recursividad. La profundidad de recursividad predeterminada es 1000.
Puedes mostrar variables como "cte_max_recurrence_ Depth"; discute detenidamente
También puedes mostrar la recursividad por el tiempo máximo de ejecución de la instrucción select, mostrando la variable Li Le' max _ejecución_ tiempo';