我可以导入 Mysql 函数并将其用于具有相同模式名称的多个数据库而不再导入该函数吗?
我知道两个表中的 Mysql 保存功能:
information_schema.ROUTINES
和mysql.proc
有没有人有这样做的想法?
我可以导入 Mysql 函数并将其用于具有相同模式名称的多个数据库而不再导入该函数吗?
我知道两个表中的 Mysql 保存功能:
information_schema.ROUTINES
和mysql.proc
有没有人有这样做的想法?
每个存储过程都与它的schema
or相关联database
。
只要 SP 只是例程而不依赖于表数据,就可以从任何地方愉快地调用它们。
如果 SP 旨在基于表数据进行计算,那么您database
在定义 SP 主体时肯定需要该限定符。
即
你需要打电话
select count(*) from routines;
而不是打电话。
select count(*) from information_schema.routines;
如果您查看两者的表结构,routines
您proc
可以找到一列routine_schema
并db
分别指向 SP 的目标数据库。
除非您定义与表数据相关的 SP 主体,否则您肯定必须在数据库环境中重新定义它们。
更重要的是,您再次需要权限才能访问和执行此类跨数据库 SP。