Seguimos destripando common_schema. Ahora vamos a ver 2 nuevas funcionalidades, muy interesantes para los desarrolladores, pues se trata de ver las dependencias que tienen los procedimentos y las funciones.
Empezando por los procedimientos, para tener un listado de los procedimientos de nuestro servidor, escribiremos:
SHOW PROCEDURE STATUS;
Sin embargo, esta sentencia no es del todo útil para su posterior procesamiento. Seguro que nos va mejor con esta otra:
SELECT routine_schema, specific_name, routine_name, routine_body, routine_comment FROM information_schema.routines
WHERE routine_type = "PROCEDURE";
Podemos incluir en la cláusula WHERE limitar a una base de datos concreta.
Ahora usaremos el procedimiento get_routine_dependencies (schema, procedimento) para ver las dependencias que tiene el “procedimiento” seleccionado!
CALL get_routine_dependencies (schema, procedimento);
De esta forma, podemos conocer qué dependencias tiene nuestro procedimiento!
Adjuntamos las sentencias SQL para poder aplicar lo mismo, pero a las funciones:
SHOW FUNCTION STATUS;
SELECT routine_schema, specific_name, routine_name, routine_body, routine_comment FROM information_schema.routines
WHERE routine_type = "FUNCTION";
Y para conocer las dependencias de las funciones, la sentencia es exáctamente la misma:
CALL get_routine_dependencies (schema, function);
Personalmente, creo que estas dos funciones facilitan mucho la programación de procedimientos almacenados y rutinas, sobre todo si hace tiempo que no se actualizan, o son realizadas por otros programadores.
Espero os sea de utilidad!