【发布时间】:2020-11-23 17:41:58
【问题描述】:
我正在尝试创建一个可以跨多个数据库使用但不必在所有数据库中复制存储过程的存储过程。
示例:在 BIZ_ADM 中有可以运行的存储过程,并且可以将参数传递给它,从而在另一个数据库 BIZ_OPS 中创建表和视图
CALL CreateNewEntity1 ('KTC_SHARED', 'TEST1', 'SHARED');
分隔符 $$
使用KTC_SHARED$$
如果存在则删除程序CreateNewEntity1$$
CREATE DEFINER=root@192.168.0.% PROCEDURE CreateNewEntity1(IN databaseNameSTR VARCHAR (64), IN entityNameSTR VARCHAR(64), IN extSTR VARCHAR(64))
开始
SET @sqlSTR = CONCAT("CREATE TABLE TBL_", entityNameSTR, "(标准字段等)
如果要在当前数据库中创建,我可以做任何事情,但在尝试在不同的数据库中创建时不起作用。希望这足以清楚地了解我要做什么。
提前感谢您提供的任何帮助。
【问题讨论】:
-
忘了说,不要跨多个数据库复制,因为这个存储过程会被频繁使用。
标签: mysql