SHOW PROCEDURE CODE proc_name
          このステートメントは、デバッギングサポートとともに構築されたサーバーでのみ使用可能な
          MySQL
          の拡張機能です。このステートメントは、指定されたストアドプロシージャーの内部実装の表現を表示します。同様のステートメントである
          SHOW FUNCTION
          CODE
          は、ストアドファンクションに関する情報を表示します
          (項8.5.5.20. 「SHOW FUNCTION CODE 構文」 を参照)。
        
          どちらのステートメントでも、このルーチンの所有者であるか、または
          mysql.proc
          テーブルに対する
          SELECT
          アクセス権を持っていることが必要です。
        
          もし名づけられたルーチンが有効なら、各ステートメントは結果セットを作成します。結果セット内の各行は、ルーチン内の
          1 つの 「instruction」
          に対応します。最初のカラムは、0
          で始まる序数 Pos
          です。2 つめのカラムは、SQL
          ステートメントや
          (通常元のソースから変更されたもの)
          ストアドルーチンヘッダーに対してだけ意味を持つコマンドを含む
          Instruction です。
        
mysql>DELIMITER //mysql>CREATE PROCEDURE p1 ()->BEGIN->DECLARE fanta INT DEFAULT 55;->DROP TABLE t2;->LOOP->INSERT INTO t3 VALUES (fanta);->END LOOP;->END//Query OK, 0 rows affected (0.00 sec) mysql>SHOW PROCEDURE CODE p1//+-----+----------------------------------------+ | Pos | Instruction | +-----+----------------------------------------+ | 0 | set fanta@0 55 | | 1 | stmt 9 "DROP TABLE t2" | | 2 | stmt 5 "INSERT INTO t3 VALUES (fanta)" | | 3 | jump 2 | +-----+----------------------------------------+ 4 rows in set (0.00 sec)
          この例では、非実行可能な
          BEGIN および
          END
          ステートメントが消えており、DECLARE
          
          ステートメントでは、実行可能ファイルの部分
          (デフォルトが割り当てられている部分)
          のみが表示されています。(デフォルトが割り当てられている部分)
          ソースから取り出された各ステートメントに対しては、後に型が続くコード文字
          variable_namestmt があります。(9
          は DROP、5 は
          INSERT
          を意味する、という感じのものです)。最終行は、GOTO
          instruction #2 という意味を持つ
          jump 2
          指示を含んでいます。
        
これらのステートメントは、MySQL 5.1.3 で追加されました。
