从存储过程从MySQL中的另一个数据库动态查询不同的数据库

时间:2019-01-29 18:05:03

标签: mysql stored-procedures saas

我将介绍我的大多数代码,即存储过程中的业务逻辑。我有一个主数据库,每个客户都有单独的数据库。

每个客户端数据库都包含执行与该数据库相关的操作所需的存储过程。

现在,使用这种方法,很难为每个新客户端创建数据库,除了要复制50-60个存储过程的表之外。另一方面,可维护性也很重要,因为我必须将每个更改复制到每个数据库SP。

所以,我的想法是将这些存储过程保留在Master数据库中,然后从那里进行调用,如下所示:

SET @q = CONCAT('insert into ', _db,'.dbmaster (organizationid) values (',_org,');');
    PREPARE stmt FROM @q;
    EXECUTE stmt;
    DEALLOCATE PREPARE stmt;

但是用这种方法,我必须将每个这样的查询都包装起来,这又不是一个好的解决方案。

所以我的意思是,如何使用变量名_db作为前缀作为数据库名,如下所示:

insert into _db.dbmaster (organizationid) values (_org);

请让我知道是否有解决方案。

0 个答案:

没有答案