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