Mysql:查找引用特定表的所有存储过程
Posted
技术标签:
【中文标题】Mysql:查找引用特定表的所有存储过程【英文标题】:Mysql: Find all stored procedures that reference a specific table 【发布时间】:2018-01-09 07:37:04 【问题描述】:我想检查所有引用 mysql 中特定表的 SP/函数。我发现一个我相信是在 sql server 中检查相同的查询:
SELECT Name
FROM sys.procedures
WHERE OBJECT_DEFINITION(OBJECT_ID) LIKE '%tablename%'
但在 mysql 中它说“表 sys.procedures 不存在”
【问题讨论】:
哦等等。这是针对 MSSQL 的,但您正在使用 MySQL? 是的。我想在 mysql 中查询 List of Stored Procedures/Functions Mysql Command Line的可能重复 【参考方案1】:select * from information_schema.ROUTINES where ROUTINE_DEFINITION like '%tableName%';
【讨论】:
【参考方案2】:需要查询Mysql.proc
表,here's文档:
mysql.proc 表包含有关存储过程和 存储的函数。它包含与存储在 INFORMATION SCHEMA.ROUTINES 表。
您的查询将是:
SELECT *
FROM Mysql.proc
WHERE type = 'PROCEDURE'
AND body LIKE '%tablename%';
【讨论】:
以上是关于Mysql:查找引用特定表的所有存储过程的主要内容,如果未能解决你的问题,请参考以下文章
oracle 怎么在存储过程中创建一个临时表,在里面插入数据,再查找这个临时表的所有数据,最后drop这个表。