Mysql数据库如何查看某张表table被哪些存储过程procedure使用过

一、摘要

由于代码重构,修改了表结构,开发人员修改完java后台代码并内测没问题后提交业务部门测试时发现,新客户取不到产品价格,原因是存储过程调用的还是旧数据表。为此,需要先找出哪些存储过程使用了这些表,然后修改。那么问题来了,mysql数据库如何查看哪些存储过程使用了这些数据表呢?

二、mysql数据库存储过程信息查看

1、show 命令
1) SHOW STATUS查看存储过程状态

SHOW { PROCEDURE | FUNCTION } STATUS [ LIKE ‘pattern’ ]
SHOW PROCEDURE STATUS LIKE ‘proc_%’
查看服务器上以proc_开头的所有存储过程状态信息。

2) SHOW CREATE查看存储过程定义

SHOW CREATE { PROCEDURE | FUNCTION } sp_name
SHOW CREATE PROCEDURE xdd_tst.proc_get_client_funds_info;
查看xdd_tst库proc_get_client_funds_info的sql定义。

2、利用mysql库的proc表

查询使用了表sale_client_goods的所有存储过程,sql如下:

select * from mysql.proc
where db = 'xdd_tst' and type = 'PROCEDURE'
and body like '%sale_client_goods%'

输出结果:
在这里插入图片描述
得到存储过程列表后,就逐个修改吧!

三、可能存在的问题

1、数据库访问权限问题
2、blob类型字段查看问题

比如一开始使用mac电脑上的navicat查看proc表的blob类型字段就查看不了,后来使用sqlyog客户端工具就没任何问题,但是不影响sql查询。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值