我需要将一个具有2 in param的存储过程调用到一个存储过程中,并从select返回2 in param前任创建过程“x”开始.... call myprocedure((从id=1的表中选择inparam1、inparam2),@out1,@out2); ....结束
tktrz96b1#
不能将查询传递给存储过程。将这些值提取到局部变量中,并在过程调用中使用这些值。另外,使用局部变量而不是用户定义的变量作为输出参数。使用局部变量的原因是,当您调用另一个过程时,用户定义的变量可能会不经意地更改。
CREATE PROCEDURE 'xxxx' BEGIN declare v_in1 int; declare v_in2 int; declare v_out1 int; declare v_out2 int; select InParam1,InParam2 into v_in1, v_in2 FROM Table WHERE Id=1; CALL MyProcedure (v_in1, v_in2, v_out1, v_out2); .... END
1条答案
按热度按时间tktrz96b1#
不能将查询传递给存储过程。将这些值提取到局部变量中,并在过程调用中使用这些值。另外,使用局部变量而不是用户定义的变量作为输出参数。
使用局部变量的原因是,当您调用另一个过程时,用户定义的变量可能会不经意地更改。