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:查找引用特定表的所有存储过程的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 视图触发器函数存储过程

MYSQL:基础—存储过程

oracle 怎么在存储过程中创建一个临时表,在里面插入数据,再查找这个临时表的所有数据,最后drop这个表。

oracle 怎么在存储过程中创建一个临时表,在里面插入数据,再查找这个临时表的所有数据,最后drop这个表。

Mysql导出所有存储过程,查找存储过程关键字

Mysql导出所有存储过程,查找存储过程关键字