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 name> เพื่อแสดง 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