MySQL 5.1 リファレンスマニュアル :: 12 SQL ステートメント構文 :: 12.5 データベース管理ステートメント :: 12.5.4 SHOW 構文 :: 12.5.4.22 SHOW PROCEDURE CODE と SHOW FUNCTION CODE 構文
« 12.5.4.21 SHOW PRIVILEGES 構文

12.5.4.23 SHOW PROCEDURE STATUS と SHOW FUNCTION STATUS 構文 »
Section Navigation      [Toggle]
  • 12.5.4 SHOW 構文
  • 12.5.4.1 SHOW AUTHORS 構文
  • 12.5.4.2 SHOW CHARACTER SET 構文
  • 12.5.4.3 SHOW COLLATION 構文
  • 12.5.4.4 SHOW COLUMNS 構文
  • 12.5.4.5 SHOW CONTRIBUTORS 構文
  • 12.5.4.6 SHOW CREATE DATABASE 構文
  • 12.5.4.7 SHOW CREATE EVENT
  • 12.5.4.8 SHOW CREATE PROCEDURE と SHOW CREATE FUNCTION 構文
  • 12.5.4.9 SHOW CREATE TABLE 構文
  • 12.5.4.10 SHOW CREATE VIEW 構文
  • 12.5.4.11 SHOW DATABASES 構文
  • 12.5.4.12 SHOW ENGINE 構文
  • 12.5.4.13 SHOW ENGINES 構文
  • 12.5.4.14 SHOW ERRORS 構文
  • 12.5.4.15 SHOW EVENTS
  • 12.5.4.16 SHOW GRANTS 構文
  • 12.5.4.17 SHOW INDEX 構文
  • 12.5.4.18 SHOW INNODB STATUS 構文
  • 12.5.4.19 SHOW OPEN TABLES 構文
  • 12.5.4.20 SHOW PLUGINS 構文
  • 12.5.4.21 SHOW PRIVILEGES 構文
  • 12.5.4.22 SHOW PROCEDURE CODE と SHOW FUNCTION CODE 構文
  • 12.5.4.23 SHOW PROCEDURE STATUS と SHOW FUNCTION STATUS 構文
  • 12.5.4.24 SHOW PROCESSLIST 構文
  • 12.5.4.25 SHOW SCHEDULER STATUS 構文
  • 12.5.4.26 SHOW STATUS 構文
  • 12.5.4.27 SHOW TABLE STATUS 構文
  • 12.5.4.28 SHOW TABLES 構文
  • 12.5.4.29 SHOW TRIGGERS 構文
  • 12.5.4.30 SHOW VARIABLES 構文
  • 12.5.4.31 SHOW WARNINGS 構文

12.5.4.22. SHOW PROCEDURE CODE と SHOW FUNCTION CODE 構文

SHOW {PROCEDURE | FUNCTION} CODE sp_name

これらのステートメントは、デバッグ サポートを利用して構築されたサーバに対してだけ有効な MySQL 拡張子です。それらは名づけられたルーチンの内部インプリメンテーション表現を表示します。そのステートメントは、あなたがそのルーチンの持ち主になるか、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_name ステートメントに対しては、実行可能な部分だけが現れています。(デフォルトが割り当てられている部分)ソースから取り出された各ステートメントに対しては、後にタイプが続くコード文字 stmt があります。(9は DROP、5は INSERT を意味する、という感じの物です。)最終行は、GOTO instruction #2 という意味を持つ jump 2 指示を含んでいます。

これらのステートメントは、MySQL 5.1.3 で追加されました。

Copyright © 1997, 2010, Oracle and/or its affiliates. All rights reserved. Legal Notices
Top / Previous / Next / Up / Table of Contents
© 2010, Oracle Corporation and/or its affiliates