将mysql函数用于具有相同模式名称的多个数据库

时间:2013-12-10 08:43:12

标签: mysql function proc information-schema routines

我可以导入Mysql函数并将其用于具有相同模式名称的多个数据库而不再导入该函数吗?

我知道两个表中的Mysql保存功能:

information_schema.ROUTINESmysql.proc

有人有想法这样做吗?

1 个答案:

答案 0 :(得分:0)

每个存储过程都与其schemadatabase相关联 只要SP只是例程但不依赖于表数据,人们可以愉快地从任何地方调用它们。

如果SP打算根据表数据进行计算,那么在定义SP体时,您肯定需要database限定符。
即而不是打电话  select count(*) from routines;
你需要打电话给 select count(*) from information_schema.routines;

如果查看routinesproc的表结构,您可以分别找到指向SP的目标数据库的列routine_schemadb

除非您以这种方式定义与表数据相关的SP实体 你必须在数据库环境中重新定义它们。

更重要的是,您再次需要访问执行此类跨数据库SP的权限。