저장 프로 시저 / 함수 목록 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
내가 선호하는 것은 다음과 같습니다.
- 기능과 절차를 모두 나열합니다.
- 어느 것이 어떤지 알려주세요.
- 절차의 이름과 유형을 부여 하고 다른 아무것도 ,
- 현재 정의자가 아닌 현재 데이터베이스별로 결과를 필터링합니다.
- 결과 정렬
이 스레드에서 다른 답변에서 함께 바느질, 나는 결국
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)
이것을 사용하십시오 :
SHOW PROCEDURE STATUS;
Praveenkumar_V의 게시물에 대한 변형 :
SELECT `name` FROM mysql.proc WHERE db = 'dbname' AND `type` = 'PROCEDURE';
SELECT `name` FROM mysql.proc WHERE db = 'dbname' AND `type` = 'FUNCTION';
.. 그리고 이것은 하우스 키핑 후 시간을 절약해야했기 때문에 :
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';
당신만을 보여 주려면 :
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;
모든 기능을 보여줍니다 :
SHOW FUNCTION STATUS;
지정된 절차의 정의를 보여줍니다.
SHOW CREATE PROCEDURE [PROC_NAME];
주어진 데이터베이스의 모든 절차를 보여줍니다 :
SHOW PROCEDURE STATUS WHERE Db = '[db_name]';
현재 선택된 데이터베이스에 대한 저장 프로 시저를 나열하려면
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";
show procedure status;
이 명령을 사용하면 데이터베이스의 모든 절차를 볼 수 있습니다
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`
;
모든 절차에 대해 다음 쿼리를 사용하십시오.
select * from sysobjects
where type='p'
order by crdate desc
참고 URL : https://stackoverflow.com/questions/733349/list-of-stored-procedures-functions-mysql-command-line
'development' 카테고리의 다른 글
여러 속성을 가진 CSS 전환 속기? (0) | 2020.02.15 |
---|---|
쓰기 컨텍스트에서 메서드 반환 값을 사용할 수 없습니다 (0) | 2020.02.15 |
목록을 데이터 프레임으로 변환 (0) | 2020.02.15 |
문자열에서 텍스트를 제거하는 방법? (0) | 2020.02.15 |
입력“텍스트”태그 자동 확대 비활성화-iPhone의 Safari (0) | 2020.02.15 |