Mysql:查找引用特定表的所有存储过程

Sah*_*rma 4 mysql

我想检查所有引用 mysql 中特定表的 SP/函数。我发现了一个我相信是在 sql server 中检查相同的查询:

SELECT Name
FROM sys.procedures
WHERE OBJECT_DEFINITION(OBJECT_ID) LIKE '%tablename%'
Run Code Online (Sandbox Code Playgroud)

但是在 mysql 中它说“表 sys.procedures 不存在”

Nic*_*hil 9

select * from information_schema.ROUTINES where ROUTINE_DEFINITION like '%tableName%'; 
Run Code Online (Sandbox Code Playgroud)


Dar*_*hta 4

您需要查询Mysql.proc表,这是文档:

mysql.proc 表包含有关存储过程和存储函数的信息。它包含与 INFORMATION SCHEMA.ROUTINES 表中存储的信息类似的信息。

您的查询将是:

SELECT *
FROM Mysql.proc
WHERE type = 'PROCEDURE'
AND body LIKE '%tablename%';
Run Code Online (Sandbox Code Playgroud)