> 데이터 베이스 > MySQL 튜토리얼 > sp_object MYSQL获取当前实例下指定对象与定义语句内容_MySQL

sp_object MYSQL获取当前实例下指定对象与定义语句内容_MySQL

WBOY
풀어 주다: 2016-06-01 13:34:22
원래의
941명이 탐색했습니다.

bitsCN.com

sp_object MYSQL获取当前实例下指定对象与定义语句内容

 

[sql]

DELIMITER $$    

    

USE `test`$$    

    

DROP PROCEDURE IF EXISTS `sp_object`$$    

    

CREATE PROCEDURE `sp_object` ( p_OBJECTNAME VARCHAR(255), p_DBNAME VARCHAR(255) )    

BEGIN    

/*    

作者:陈恩辉    

调用示例:    

CALL sp_object ( 'UpdateFactAdGroupDailyUsageByHourly','' );  

*/    

-- 过程与函数    

SELECT `type` AS __TYPE, db AS DBNAME ,`name` AS OBJECTNAME ,body AS  DEFINITION     

FROM mysql.proc a    

WHERE db LIKE  CONCAT(p_DBNAME,'%')     

    AND `name` LIKE  CONCAT(p_OBJECTNAME, '%')  -- AND `type` = 'PROCEDURE'    

-- 表    

UNION ALL     

SELECT 'TABLE' AS __TYPE, TABLE_SCHEMA,TABLE_NAME ,'' AS  DEFINITION     

FROM information_schema.TABLES a      

WHERE TABLE_SCHEMA LIKE  CONCAT(p_DBNAME,'%')    

    AND table_name LIKE CONCAT(p_OBJECTNAME,'%')    

-- 触发器    

UNION ALL     

SELECT 'TRIGGER' AS __TYPE ,TRIGGER_SCHEMA AS DBNAME ,TRIGGER_NAME ,ACTION_STATEMENT AS DEFINITION  FROM information_schema.`TRIGGERS` a    

WHERE TRIGGER_SCHEMA LIKE CONCAT(p_DBNAME,'%')      

    AND TRIGGER_NAME LIKE CONCAT(p_OBJECTNAME, '%')      

-- 视图    

UNION ALL     

SELECT 'VIEW' AS __TYPE ,TABLE_SCHEMA AS DBNAME,TABLE_NAME  AS `viewname`,VIEW_DEFINITION AS DEFINITION  FROM information_schema.`VIEWS` a    

WHERE TABLE_SCHEMA LIKE CONCAT(p_DBNAME,'%')      

    AND TABLE_NAME LIKE CONCAT(p_OBJECTNAME, '%')   

ORDER BY __TYPE ,DBNAME ;    

    

END$$     

DELIMITER ;    

 

bitsCN.com
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿