How to list stored procedures and show procedure code in MySQL
วิธีการแสดง Stored procedure ที่มีอยู่ใน MySQL และแสดง procedure code ที่อยู่ใน Stored procedure สามารถทำได้ดังนี้
การแสดง MySQL stored procedure
-
แสดง MySQL stored procedure ที่มีอยู่ในระบบ
mysql> SHOW PROCEDURE STATUSผลลัพธ์+------+-----------+-----------+---------+---------------------+---------------------+---------------+---------+----------------------+----------------------+--------------------+ | Db | Name | Type | Definer | Modified | Created | Security_type | Comment | character_set_client | collation_connection | Database Collation | +------+---------+-----------+---------+---------------------+---------------------+---------------+---------+----------------------+----------------------+--------------------+ | mydb | mysql_proc | PROCEDURE | root@% | 2013-08-18 20:29:53 | 2013-08-18 20:29:53 | DEFINER | | utf8 | utf8_general_ci | latin1_swedish_ci | | test | test_proc | PROCEDURE | test@% | 2013-09-10 20:09:53 | 2013-09-10 20:09:53 | DEFINER | | utf8 | utf8_general_ci | latin1_swedish_ci | +------+------------+-----------+---------+---------------------+---------------------+---------------+---------+----------------------+----------------------+--------------------+ -
แสดง MySQL stored procedure โดยระบุ database ด้วยการใช้ where
mysql> SHOW PROCEDURE STATUS WHERE Db = 'test'ผลลัพธ์+------+-----------+-----------+---------+---------------------+---------------------+---------------+---------+----------------------+----------------------+--------------------+ | Db | Name | Type | Definer | Modified | Created | Security_type | Comment | character_set_client | collation_connection | Database Collation | +------+---------+-----------+---------+---------------------+---------------------+---------------+---------+----------------------+----------------------+--------------------+ | test | test_proc | PROCEDURE | test@% | 2013-09-10 20:09:53 | 2013-09-10 20:09:53 | DEFINER | | utf8 | utf8_general_ci | latin1_swedish_ci | +------+------------+-----------+---------+---------------------+---------------------+---------------+---------+----------------------+----------------------+--------------------+
การแสดง Procedure code ของ stored procedure
จากผลลัพธ์ที่แสดง stored procedure เราสามารถแสดง procedure code ของ stored procedure ชื่อ test_proc บน database ชื่อ test ได้ดังนี้
-
เข้าไปยัง database ที่ stored procedure ที่ต้องการแสดง procedure code
mysql> use test; -
รันคำสั่งด้านล่าง SHOW CREATE PROCEDURE
เพื่อแสดง procedure code ตามตัวอย่างด้านล่าง mysql> SHOW CREATE PROCEDURE test_proc\G;ผลลัพธ์*************************** 1. row *************************** Procedure: test_proc sql_mode: Create Procedure: CREATE DEFINER=`test`@ PROCEDURE `test_proc`(pCODE Varchar(11)) BEGIN IF (SELECT EXISTS(SELECT 1 FROM t WHERE MSISDN = pCODE LIMIT 1) IsExist) THEN SELECT 'IsExist'; ELSE SELECT '!IsExist'; END IF; END character_set_client: latin1 collation_connection: latin1_swedish_ci Database Collation: latin1_swedish_ci