mysql从过程调用另一个程序(另一个模式)

时间:2013-08-16 12:45:20

标签: mysql sql mysql-workbench

我想从SP2调用SP1。 SP1存储在同一台PC上的另一个数据库模式中。 请查看以下代码段

    CREATE DEFINER=`root`@`localhost`  PROCEDURE `db2`.`sp2_procedure` ()
BEGIN
    call sp1_procedure(50);
END

还尝试了call db1.sp1_procedure(50); 是我错误地调用或调用其他模式的SP是不可能的

注意:: SP - 存储过程

1 个答案:

答案 0 :(得分:1)

您可以简单地执行此操作,只需在前缀中提及架构名称。

例如:

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();