我想从 SP2 调用 SP1。 SP1 存储在同一台 PC 上的另一个数据库架构中。 请检查以下片段
CREATE DEFINER=`root`@`localhost` PROCEDURE `db2`.`sp2_procedure` ()
BEGIN
call sp1_procedure(50);
END
还尝试调用 db1.sp1_procedure(50);
是我调用错误还是无法调用其他架构的 SP
注意::SP - 存储过程。
最佳答案
您可以简单地做到这一点,只需在前缀中提及架构名称即可。
例如:
CREATE DEFINER=`root`@`localhost` PROCEDURE `db1`.`sp1`()
BEGIN
select 'I am procedure from another db';
END
下一步,
CREATE DEFINER=`root`@`localhost` PROCEDURE `db2`.`sp2`()
BEGIN
call db1.sp1();
END
并这样调用它:
use db2;
call `db2`.sp2();
关于mysql从过程调用另一个过程(另一个模式的),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18273661/