Vamos ver como podemos ver todas as rotinas dentro do nosso banco de dados MySQL.
Em funções do MySQL, os processos podem ser chamadas rotinas ordenadas. Para consultar as informações você pode usar o comando SHOW:
mysql > SHOW PROCEDURE STATUSG
*************************** 1 . row ***************************
Db : BXXX_234
Name : c333
Type : PROCEDURE
Definer : root @ localhost
Modified : 2010 - 03 - 18 13 : 04 : 34
Created : 2010 - 03 - 18 13 : 04 : 34
Security_type : DEFINER
Comment :
*************************** 2 . row ***************************
Db : BXXX_234
Name : m222
Type : PROCEDURE
Definer : root @ localhost
Modified : 2010 - 03 - 18 13 : 04 : 34
Created : 2010 - 03 - 18 13 : 04 : 34
Security_type : DEFINER
Comment :
*************************** 3 . row ***************************
Db : BXXX_234
Name : P321
Type : PROCEDURE
Definer : root @ localhost
Modified : 2010 - 03 - 18 13 : 04 : 34
Created : 2010 - 03 - 18 13 : 04 : 34
Security_type : DEFINER
Comment :
*************************** 4 . row ***************************
Db : BXXX_234
Name : produtos123
Type : PROCEDURE
Definer : root @ localhost
Modified : 2010 - 03 - 18 13 : 04 : 34
Created : 2010 - 03 - 18 13 : 04 : 34
Security_type : DEFINER
Comment :
Ou você pode usar a sintaxe abaixo para obter a definição de uma única rotina:
mysql > SHOW PROCEDURE STATUS like 'remove%' G
*************************** 1 . row ***************************
Db : BASE_XXX
Name : remove_garbage
Type : PROCEDURE
Definer : root @ localhost
Modified : 2010 - 03 - 18 13 : 04 : 34
Created : 2010 - 03 - 18 13 : 04 : 34
Security_type : DEFINER
Comment :
1 row in set ( 0 . 06 sec )
Outra maneira de você para listar as rotinas é para consultar a tabela de INFORMATION_SCHEMA.ROUTINES
Você vai obter mais informação sobre o que você quer em rotina, como seu tipo e sua definição.
mysql > select * from INFORMATION_SCHEMA . ROUTINESG
*************************** 1 . row ***************************
SPECIFIC_NAME : cria_123
ROUTINE_CATALOG : NULL
ROUTINE_SCHEMA : BASE_xxx
ROUTINE_NAME : c123
ROUTINE_TYPE : PROCEDURE
DTD_IDENTIFIER : NULL
ROUTINE_BODY : SQL
ROUTINE_DEFINITION : BEGIN
IF ( EXISTS ( SELECT 1 FROM pedidos WHERE id = pedidoid AND codigo_pedido IS NULL LIMIT 1 )) THEN
SET autocommit = 0 ;
IF ( EXISTS ( SELECT 1 FROM csras WHERE pedidos_id = pedidoid ) OR
EXISTS ( SELECT 1 FROM csras WHERE id = pedidoid )) THEN
DELETE FROM csras where id = pedidoid ;
DELETE FROM csras WHERE pedidos_id = pedidoid ;
END IF ;
INSERT INTO csras SELECT * FROM pedidos_itens WHERE pedidos_id = pedidoid ;
INSERT INTO csras SELECT * FROM pedidos WHERE id = pedidoid ;
COMMIT ;
if ( EXISTS ( SELECT 1 FROM csras WHERE id = pedidoid LIMIT 1 )) THEN
DELETE FROM pedidos_historico WHERE pedidos_id = pedidoid ;
DELETE FROM pedidos_itens WHERE pedidos_id = pedidoid ;
DELETE FROM modulos_pagamento_dados WHERE pedidos_id = pedidoid ;
DELETE FROM pedidos WHERE id = pedidoid ;
COMMIT ;
END IF ;
END IF ;
END
EXTERNAL_NAME : NULL
EXTERNAL_LANGUAGE : NULL
PARAMETER_STYLE : SQL
IS_DETERMINISTIC : YES
SQL_DATA_ACCESS : CONTAINS SQL
SQL_PATH : NULL
SECURITY_TYPE : DEFINER
CREATED : 2010 - 03 - 18 13 : 04 : 34
LAST_ALTERED : 2010 - 03 - 18 13 : 04 : 34
SQL_MODE : NO_AUTO_VALUE_ON_ZERO
ROUTINE_COMMENT :