ver procedimientos procedimiento para insertar funciones estructura ejercicios ejecutar datos busqueda almacenados almacenado mysql stored-procedures command-line

para - Lista de procedimientos almacenados/Funciones Mysql Comando Línea



ver estructura de un procedimiento almacenado en mysql (15)

Alternativa:

SELECT * FROM INFORMATION_SCHEMA.ROUTINES

¿Cómo puedo ver la lista de los procedimientos almacenados o las funciones almacenadas en la línea de comandos de mysql como show tables; o show databases; comandos


Como se ha mencionado más arriba,

show procedure status;

De hecho, mostrará una lista de procedimientos, pero muestra todos ellos, en todo el servidor.

Si desea ver solo los que están en una sola base de datos, intente esto:

SHOW PROCEDURE STATUS WHERE Db = ''databasename'';


Mi preferencia es por algo que:

  1. Enumera tanto funciones como procedimientos,
  2. Me deja saber cuales son cuales
  3. Da los nombres y tipos de los procedimientos y nada más ,
  4. Filtra los resultados por la base de datos actual, no por el definidor actual
  5. Ordena el resultado

Al unir de otras respuestas en este hilo, termino con

select name, type from mysql.proc where db = database() order by type, name;

... lo que termina con resultados que se ven así:

mysql> select name, type from mysql.proc where db = database() order by type, name; +------------------------------+-----------+ | name | type | +------------------------------+-----------+ | get_oldest_to_scan | FUNCTION | | get_language_prevalence | PROCEDURE | | get_top_repos_by_user | PROCEDURE | | get_user_language_prevalence | PROCEDURE | +------------------------------+-----------+ 4 rows in set (0.30 sec)


Para mostrar solo el tuyo:

SELECT db, type, specific_name, param_list, returns FROM mysql.proc WHERE definer LIKE CONCAT(''%'', CONCAT((SUBSTRING_INDEX((SELECT user()), ''@'', 1)), ''%''));


Para ver procedimiento en nombre sabio

select name from mysql.proc

El código a continuación se usa para enumerar todos los procedimientos y el código a continuación es el mismo resultado que el estado del procedimiento de mostrar

select * from mysql.proc


Si desea listar el procedimiento de almacenamiento para la base de datos seleccionada actual,

SHOW PROCEDURE STATUS WHERE Db = DATABASE();

listará rutinas basadas en la base de datos seleccionada actual


Una forma más específica:

SHOW PROCEDURE STATUS WHERE Db = DATABASE() AND Type = ''PROCEDURE''


Una variación en la publicación de Praveenkumar_V:

SELECT `name` FROM mysql.proc WHERE db = ''dbname'' AND `type` = ''PROCEDURE''; SELECT `name` FROM mysql.proc WHERE db = ''dbname'' AND `type` = ''FUNCTION'';

..y esto porque necesitaba ahorrar tiempo después de un poco de limpieza:

SELECT CONCAT( "GRANT EXECUTE ON PROCEDURE `" ,`name` ,"` TO username@''%''; -- " ,`comment` ) FROM mysql.proc WHERE db = ''dbname'' AND `type` = ''PROCEDURE''; SELECT CONCAT( "GRANT EXECUTE ON FUNCTION `" ,`name` ,"` TO username@''%''; -- " ,`comment` ) FROM mysql.proc WHERE db = ''dbname'' AND `type` = ''FUNCTION'';


Utilice la siguiente consulta para todos los procedimientos:

select * from sysobjects where type=''p'' order by crdate desc


utilizar esta:

SHOW PROCEDURE STATUS;


show procedure status;

Usando este comando puedes ver todos los procedimientos en bases de datos.


SELECT specific_name FROM `information_schema`.`ROUTINES` WHERE routine_schema=''database_name''


SHOW PROCEDURE STATUS;

Muestra todos los procedimientos almacenados.

SHOW FUNCTION STATUS;

Muestra todas las funciones.

SHOW CREATE PROCEDURE [PROC_NAME];

Se mostrará la definición del procedimiento especificado.

SHOW PROCEDURE STATUS WHERE Db = ''[db_name]'';

Le mostrará todos los procedimientos de la base de datos dada.


SHOW PROCEDURE STATUS; SHOW FUNCTION STATUS;


show procedure status

le mostrará los procedimientos almacenados.

show create procedure MY_PROC

le mostrará la definición de un procedimiento. Y

help show

le mostrará todas las opciones disponibles para el comando show .