반응형
MySQL에서 저장 프로 시저 / 함수 정의보기
sp_helptext
Microsoft SQL Server에서 와 유사한 저장 프로 시저 또는 함수의 정의를 보는 MySQL 명령은 무엇입니까 ?
SHOW PROCEDURE STATUS
사용 가능한 절차 목록이 표시 된다는 것을 알고 있습니다. 단일 절차의 정의를 확인해야합니다.
SHOW CREATE PROCEDURE <name>
CREATE PROCEDURE
문을 사용하여 만든 이전에 정의 된 저장 프로 시저의 텍스트를 반환합니다 . 스왑 PROCEDURE
에 대한 FUNCTION
저장 기능.
이것을 사용할 수 있습니다 :
SELECT ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_SCHEMA = 'yourdb' AND ROUTINE_TYPE = 'PROCEDURE' AND ROUTINE_NAME = "procedurename";
SHOW CREATE PROCEDURE proc_name;
정의를 반환합니다. proc_name
절차 목록을 알고 싶다면 다음 명령을 실행할 수 있습니다.
show procedure status;
프로 시저 및 해당 정의 자 목록을 제공합니다. 그런 다음 show create procedure <procedurename>;
같은 것 :
DELIMITER //
CREATE PROCEDURE alluser()
BEGIN
SELECT *
FROM users;
END //
DELIMITER ;
보다:
SHOW CREATE PROCEDURE alluser
결과를 제공합니다.
'alluser', 'STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER', 'CREATE DEFINER=`root`@`localhost` PROCEDURE `alluser`()
BEGIN
SELECT *
FROM users;
END'
모든 절차에 대한 개요를 얻거나 SHOW CREATE PROCEDURE에 표시된 절차 헤더 만 가져 오는 문제가 발생하는 경우 신속하고 해킹 된 대안 솔루션 :
mysqldump --user=<user> -p --no-data --routines <database>
테이블 설명도 내보내지만 데이터는 내 보내지 않습니다. 알 수 없거나 잊혀진 스키마를 스니핑하는 데 적합합니다 ...;)
mysql 데이터베이스에서 table proc 을 사용할 수 있습니다 .
mysql> SELECT body FROM mysql.proc
WHERE db = 'yourdb' AND name = 'procedurename' ;
mysql.proc에 대한 선택 권한이 있어야합니다 .
mysql> GRANT SELECT ON mysql.proc TO 'youruser'@'yourhost' IDENTIFIED BY 'yourpass' ;
완벽합니다.
SELECT ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_SCHEMA = 'yourdb' AND ROUTINE_TYPE = 'PROCEDURE' AND ROUTINE_NAME = "procedurename";
참고 URL : https://stackoverflow.com/questions/1968773/view-stored-procedure-function-definition-in-mysql
반응형
'programing' 카테고리의 다른 글
UITableViewCell에서 부모 UITableView 로의 참조? (0) | 2020.11.10 |
---|---|
Paperclip을 사용하여 프로그래밍 방식으로 파일 업로드를 설정하는 방법 (0) | 2020.11.10 |
iPhone XCode-앱 아이콘 아래 제목을 변경하는 방법 (0) | 2020.11.10 |
자리 표시 자와 대체 개체를 사용하여 JavaScript 문자열 형식을 지정 하시겠습니까? (0) | 2020.11.10 |
요소 번호가있는 PostgreSQL unnest () (0) | 2020.11.10 |