[mysql] 저장 프로 시저 / 함수 목록 Mysql Command Line

mysql 명령 줄 show tables;이나 show databases;명령 과 같은 저장 프로 시저 또는 저장 함수 목록을 어떻게 볼 수 있습니까 ?



답변

SHOW PROCEDURE STATUS;
SHOW FUNCTION STATUS;


답변

show procedure status

저장 프로 시저가 표시됩니다.

show create procedure MY_PROC

절차의 정의를 보여줍니다. 과

help show

show명령에 사용 가능한 모든 옵션이 표시됩니다 .


답변

현명한보기 절차

select name from mysql.proc 

아래 코드는 모든 절차를 나열하는 데 사용되며 아래 코드는 절차 상태 표시와 동일한 결과를 제공합니다.

select * from mysql.proc 


답변

보다 구체적인 방법 :

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


답변

상술 한 바와 같이,

show procedure status;

실제로 절차 목록을 표시하지만 서버 전체 에서 모든 절차를 표시 합니다 .

단일 데이터베이스의 데이터베이스 만 보려면 다음을 시도하십시오.

SHOW PROCEDURE STATUS WHERE Db = 'databasename';


답변

대안 :

SELECT * FROM INFORMATION_SCHEMA.ROUTINES


답변

내가 선호하는 것은 다음과 같습니다.

  1. 기능과 절차를 모두 나열합니다.
  2. 어느 것이 어떤지 알려주세요.
  3. 절차의 이름과 유형을 부여 하고 다른 아무것도 ,
  4. 현재 정의자가 아닌 현재 데이터베이스별로 결과를 필터링합니다.
  5. 결과 정렬

이 스레드에서 다른 답변에서 함께 바느질, 나는 결국

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

… 다음과 같은 결과가 나타납니다.

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)