Список хранимых процедур / функций Mysql Command Line - PullRequest
450 голосов
/ 09 апреля 2009

Как просмотреть список хранимых процедур или хранимых функций в командной строке mysql, например, show tables; или show databases; команды.

Ответы [ 16 ]

7 голосов
/ 06 января 2015
SELECT specific_name FROM `information_schema`.`ROUTINES` WHERE routine_schema='database_name'
5 голосов
/ 07 декабря 2017
SHOW PROCEDURE STATUS;

Показывает все хранимые процедуры.

SHOW FUNCTION STATUS;

Показывает все функции.

SHOW CREATE PROCEDURE [PROC_NAME];

Покажет определение указанной процедуры.

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

Покажет вам все процедуры данной базы данных.

5 голосов
/ 12 октября 2017

Если вы хотите отобразить процедуру сохранения для текущей выбранной базы данных,

SHOW PROCEDURE STATUS WHERE Db = DATABASE();

отобразит подпрограммы на основе текущей выбранной базы данных

ОБНОВЛЕНО перечислить функции в вашей базе данных

select * from information_schema.ROUTINES where ROUTINE_SCHEMA="YOUR DATABASE NAME" and ROUTINE_TYPE="FUNCTION";

для вывода списка процедур / процедур хранения в вашей базе данных,

select * from information_schema.ROUTINES where ROUTINE_SCHEMA="YOUR DATABASE NAME" and ROUTINE_TYPE="PROCEDURE";

для отображения таблиц в вашей базе данных,

select * from information_schema.TABLES WHERE TABLE_TYPE="BASE TABLE" AND TABLE_SCHEMA="YOUR DATABASE NAME";

для просмотра списка в вашей базе данных,

метод 1:

select * from information_schema.TABLES WHERE TABLE_TYPE="VIEW" AND TABLE_SCHEMA="YOUR DATABASE NAME";

метод 2:

select * from information_schema.VIEWS WHERE TABLE_SCHEMA="YOUR DATABASE NAME";
1 голос
/ 22 июля 2014
                           show procedure status;

с помощью этой команды вы можете увидеть все процедуры в базах данных

0 голосов
/ 07 июня 2019

MySQL8

Список пользовательских процедур и функций для всех баз данных :

SELECT 
    `ROUTINE_SCHEMA` AS `database`
    ,`ROUTINE_TYPE` AS `type`
    ,`SPECIFIC_NAME` AS `name`
    ,`DTD_IDENTIFIER` AS `data_type`
FROM 
    `INFORMATION_SCHEMA`.`ROUTINES`
WHERE
  `definer` LIKE
  CONCAT('%', CONCAT((SUBSTRING_INDEX((SELECT user()), '@', 1)), '%'))
ORDER BY
    `database`
    ,`type`
    ,`name`
;

Список пользовательских процедур и функций для используемой базы данных :

SELECT 
    `ROUTINE_SCHEMA` AS `database`
    ,`ROUTINE_TYPE` AS `type`
    ,`SPECIFIC_NAME` AS `name`
    ,`DTD_IDENTIFIER` AS `data_type`
FROM 
    `INFORMATION_SCHEMA`.`ROUTINES`
WHERE
  `definer` LIKE
  CONCAT('%', CONCAT((SUBSTRING_INDEX((SELECT user()), '@', 1)), '%'))
AND
   `ROUTINE_SCHEMA` = DATABASE()
ORDER BY
    `type`
    ,`name`
;
0 голосов
/ 11 июня 2015

Используйте следующий запрос для всех процедур:

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