首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL:如何列出在过程中使用的所有表?

MySQL:如何列出在过程中使用的所有表?
EN

Stack Overflow用户
提问于 2022-05-09 02:19:07
回答 1查看 41关注 0票数 0

我正在寻找一个方法或一个查询来检索在一个过程中使用的所有表。

我尝试了information_schema.routines,但是它包含了一个过程的所有定义。

是否有任何系统表包含这方面的依赖关系?

或者如何使用其他语言(如Python )从定义中获取表名?

非常感谢!!

EN

回答 1

Stack Overflow用户

发布于 2022-05-09 03:08:05

当前版本的MySQL没有在INFORMATION_SCHEMA中实现这样的视图。

MySQL 8.0.13添加了I_S.VIEW_TABLE_USAGE,它允许您查找视图使用的表。这是为WorkLog #11864做的。WorkLog注意到与PostgreSQL和Microsoft的兼容性。

但是,我无法为假设的WorkLog表找到任何I_S.ROUTINE_TABLE_USAGE。我检查了PostgreSQL,它有这样的视图:https://www.postgresql.org/docs/current/infoschema-routine-table-usage.html,但MySQL没有。

因此,要自动获取这些信息,您必须查询过程主体,并将其解析为表引用。这可不是件容易的事。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72166390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档