Thursday, 8 November 2018

List of Stored Procedures/Functions Mysql Command Line

How can I see the list of the stored procedures or stored functions in mysql command line like show tables; or show databases; commands.

 Answers


SHOW PROCEDURE STATUS;
SHOW FUNCTION STATUS;



For view procedure in name wise
select name from mysql.proc 
below code used to list all the procedure and below code is give same result as show procedure status
select * from mysql.proc 



As mentioned above,
show procedure status;
Will indeed show a list of procedures, but shows all of them, server-wide.
If you want to see just the ones in a single database, try this:
SHOW PROCEDURE STATUS WHERE Db = 'databasename';



My preference is for something that:
  1. Lists both functions and procedures,
  2. Lets me know which are which,
  3. Gives the procedures' names and types and nothing else,
  4. Filters results by the current database, not the current definer
  5. Sorts the result
Stitching together from other answers in this thread, I end up with
select 
  name, type 
from 
  mysql.proc 
where 
  db = database() 
order by 
  type, name;
... which ends you up with results that look like this:
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)



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



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



                           show procedure status;
using this command you can see the all procedures in databases



Use the following query for all the procedures:
select * from sysobjects 
where type='p'
order by crdate desc

0 comments:

Post a Comment