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:
- Lists both functions and procedures,
- Lets me know which are which,
- Gives the procedures' names and types and nothing else,
- Filters results by the current database, not the current definer
- 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