代码之家  ›  专栏  ›  技术社区  ›  Pradyut Bhattacharya

调用嵌套存储过程mysql时出错

  •  0
  • Pradyut Bhattacharya  · 技术社区  · 14 年前

    我正在调用另一个存储过程中的存储过程 MySQL

    使用mysql administrator调用时出错

    call sp_update_back_image(2, 3);
    

    是:

    OUT or INOUT argument 2 for routine void.sp_sel_options_id is not a variable 
    or NEW pseudo-variable in BEFORE trigger
    

    存储过程…

    CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_update_back_image`(uid int , img_id int)
    BEGIN
    call sp_sel_options_id(uid, oid);
    select oid;
    END
    

    sp_sel_options_id是:

    CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_sel_options_id`(IN uid int, 
    OUT r_id int)
    BEGIN
        set r_id = 0;
    END
    

    任何帮助

    谢谢

    普拉杜特

    印度

    1 回复  |  直到 14 年前
        1
  •  0
  •   Pradyut Bhattacharya    14 年前

    是的

    另一个变量需要在调用变量中初始化或排序…

    CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_update_back_image`(uid int , img_id int)
    BEGIN
    declare oid int;
    call sp_sel_options_id(uid, oid);
    select oid;
    END