How to find a table used in any procedure or function or in a view

I use MySQL, there is a table named in my database tbltest.

I want to check where this table is used in my database.

Example: I want to check if this table is used in any store / function / view procedure.

How can I check MySQL.

+4
source share
1 answer

According to MySQL documentation

SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'tbltest'

If you want to check only the stored procedure / function / view, you can join INFORMATION_SCHEMA.ROUTINES

UPDATE:

ROUTINE_TYPE will provide a type similar to a procedure / function.

SELECT DISTINCT ROUTINE_NAME, ROUTINE_TYPE 
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_DEFINITION LIKE '%tbltest%'
      -- AND ROUTINE_TYPE = 'PROCEDURE' -- to filter SPs only

To check VIEWS:

SELECT DISTINCT TABLE_NAME AS Name, 'VIEW' AS Type 
FROM INFORMATION_SCHEMA.VIEWS 
WHERE VIEW_DEFINITION LIKE '%view_name%'
+5
source

All Articles