【发布时间】:2023-03-17 07:18:01
【问题描述】:
我有两个数据库,db1 和 db2。
用户 man1 拥有 db1 的所有权限,但只能执行 db2 中所有函数和过程的权限。
从 db1 调用函数 db2.getValue 成功并返回正确的值,如果对 db2.getValue 的调用嵌套在存储过程中。
现在我创建了一个存储过程 proc1,在这个过程中我使用游标从 db1 的表中获取值(_val1、_val2、--)并调用 db2.getValue(_val1)。
现在发生了一件非常奇怪的事情:
游标的第一个循环结束,但 db2.getValue 的值为空。在这个循环结束时,循环结束并停止。
有没有人提示问题可能出在哪里?调用 db1.getValue(_val1) 而不是 db2.getValue(_val1) 可以正常工作。
所以我的想法是,在游标内,db2的权限可能不一样?
向索利克致敬
【问题讨论】:
-
考虑显示你的程序代码
标签: mysql database stored-procedures cursor privileges