如何检查表依赖视图的过程

时间:2010-01-09 17:18:36

标签: mysql

我有表学生,字段是student_id,student_name,year_joining ......

现在我想将year_joining重命名为year_completion,

但我不确定,多少视图,过程函数依赖于今年_joinging,

在mysql中,有没有任何功能呢......

1 个答案:

答案 0 :(得分:0)

您可以尝试查询information_schema数据库:

USE `information_schema`;
SELECT * FROM `VIEWS` WHERE `VIEW_DEFINITION` LIKE '%year_joining%';
SELECT * FROM `ROUTINES` WHERE `ROUTINE_DEFINITION` LIKE '%year_joining%';

这应返回引用字段year_joining

的视图/例程列表

我认为我说得对,在任何一种情况下,列TABLE_NAME都将包含视图/过程的名称,而列VIEW_DEFINITIONROUTINE_DEFINITION将包含视图/过程的定义。

要将搜索限制在特定数据库中,请在查询中加入TABLE_SCHEMAROUTINE_SCHEMA,例如

SELECT * FROM `VIEWS` WHERE `VIEW_DEFINITION` LIKE '%year_joining%' AND `TABLE_SCHEMA` = 'my_database';
SELECT * FROM `ROUTINES` WHERE `ROUTINE_DEFINITION` LIKE '%year_joining%' AND `ROUTINE_SCHEMA` = 'my_database';