mysql-logo
วิธีการแสดง 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 ได้ดังนี้

  1. เข้าไปยัง database ที่ stored procedure ที่ต้องการแสดง procedure code
    mysql> use test;
  2. รันคำสั่งด้านล่าง 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