SHOW PROCEDURE CODE
Sintassi
SHOW PROCEDURE CODE nome_procedura
Spiegazione
Questa istruzione è un'estensione di MariaDB a SQL ed è disponibile solo per i server che sono stati compilati con il supporto al debug. Restituisce una rappresentazione dell'implementazione interna di una Stored Procedure. Un'istruzione simile, SHOW FUNCTION CODE
, mostra informazioni analoghe sulle Stored Function.
Entrambe le istruzioni richiedono che chi le esegue sia il proprietazio della routine o disponga del privilegio SELECT
sulla tabella mysql.proc.
Se la routine specificata è disponibile, l'istruzione produce un set di risultati. Ogni riga dei risultati corrisponde a una "istruzione" della routine. La prima colonna è Pos, che è un numero ordinale che comincia da 0. La seconda è Instruction, che contiene un comando SQL (di solito modificato rispetto al sorgente originale), o una direttiva che ha significato solo per il gestore delle Stored Routine.
Esempi
MariaDB [(test)]> DELIMITER // MariaDB [(test)]> 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) MariaDB [test]> 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)