Lista przechowywanych procedur / funkcji linia poleceń Mysql
Jak mogę zobaczyć listę przechowywanych procedur lub przechowywanych funkcji w linii poleceń mysql, takich jak polecenia show tables;
lub show databases;
.
15 answers
SHOW PROCEDURE STATUS;
SHOW FUNCTION STATUS;
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-29 09:56:23
show procedure status
Pokaże Ci procedury przechowywane.
show create procedure MY_PROC
Pokaże Ci definicję procedury. Oraz
help show
Pokaże Ci wszystkie dostępne opcje dla polecenia show
.
Dla procedury wyświetlania w nazwie
select name from mysql.proc
Poniżej kod używany do wyświetlenia całej procedury, a poniżej kod daje taki sam wynik jak Pokaż status procedury
select * from mysql.proc
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-26 05:01:43
Bardziej konkretny sposób:
SHOW PROCEDURE STATUS
WHERE Db = DATABASE() AND Type = 'PROCEDURE'
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-02 22:53:43
Jak wspomniano powyżej,
show procedure status;
Rzeczywiście wyświetli listę procedur, ale wyświetli Wszystkie na całym serwerze.
Jeśli chcesz zobaczyć tylko te w jednej bazie danych, spróbuj tego:
SHOW PROCEDURE STATUS WHERE Db = 'databasename';
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-11-09 09:48:58
Alternatywa:
SELECT * FROM INFORMATION_SCHEMA.ROUTINES
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-13 16:21:26
Preferuję coś, co:
- wymienia zarówno funkcje jak i procedury,
- Lets me know which are which,
- podaje nazwy i typy procedur i nic więcej,
- filtruje wyniki według bieżącej bazy danych, a nie aktualnego definera
- sortuje wynik
Zszywanie z innych odpowiedzi w tym wątku kończy się
select
name, type
from
mysql.proc
where
db = database()
order by
type, name;
... co kończy się wynikami, które wyglądają jak to:
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)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-18 17:17:11
Użyj tego:
SHOW PROCEDURE STATUS;
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-30 12:17:48
Aby pokazać tylko swoje:
SELECT
db, type, specific_name, param_list, returns
FROM
mysql.proc
WHERE
definer LIKE
CONCAT('%', CONCAT((SUBSTRING_INDEX((SELECT user()), '@', 1)), '%'));
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-29 10:03:58
Wariacja na temat postu Praveenkumar_V:
SELECT `name` FROM mysql.proc WHERE db = 'dbname' AND `type` = 'PROCEDURE';
SELECT `name` FROM mysql.proc WHERE db = 'dbname' AND `type` = 'FUNCTION';
..a to dlatego, że potrzebowałem zaoszczędzić czas po jakimś sprzątaniu:
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';
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-12 10:26:38
SELECT specific_name FROM `information_schema`.`ROUTINES` WHERE routine_schema='database_name'
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-06 14:08:15
Jeśli chcesz wyświetlić listę procedur przechowywania dla aktualnie wybranej bazy danych,
SHOW PROCEDURE STATUS WHERE Db = DATABASE();
Wyświetli listę procedur na podstawie aktualnie wybranej bazy danych
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-12 06:59:29
SHOW PROCEDURE STATUS;
Pokazuje wszystkie procedury składowane.
SHOW FUNCTION STATUS;
Pokazuje wszystkie funkcje.
SHOW CREATE PROCEDURE [PROC_NAME];
Pokaże definicję określonej procedury.
SHOW PROCEDURE STATUS WHERE Db = '[db_name]';
Pokaże Ci wszystkie procedury danej bazy danych.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-07 05:22:14
show procedure status;
Używając tego polecenia możesz zobaczyć wszystkie procedury w bazach danych
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-22 07:26:41
Użyj następującego zapytania dla wszystkich procedur:
select * from sysobjects
where type='p'
order by crdate desc
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-11 08:27:04