【问题标题】:use mysql functions for multiple databases with same pattern name对具有相同模式名称的多个数据库使用 mysql 函数
【发布时间】:2013-12-27 16:31:43
【问题描述】:

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

我知道Mysql在两个表中保存函数:

information_schema.ROUTINESmysql.proc

有人有这个想法吗?

【问题讨论】:

    标签: mysql function proc information-schema routines


    【解决方案1】:

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

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

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

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

    更重要的是,您再次需要权限才能访问执行这样的跨数据库 SP。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多