gpt4 book ai didi

mysql - 如何查找在任何过程或函数或 View 中使用的表

转载 作者:可可西里 更新时间:2023-11-01 06:40:26 25 4
gpt4 key购买 nike

我正在使用 MySQL,在我的数据库中有一个名为 tbltest 的表。

我想检查这个表在我的数据库中的什么地方被使用。

举个例子:我想检查这个表是否在任何存储过程/函数/ View 中使用。

我如何检查 MySQL。

最佳答案

根据 MySQL documentation

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

如果您只想检查存储过程/函数/ View ,则可以加入 INFORMATION_SCHEMA.ROUTINES

更新:

ROUTINE_TYPE将提供类似过程/函数的类型。

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

checkin VIEWS:

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

关于mysql - 如何查找在任何过程或函数或 View 中使用的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30753995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com