我试图从同一个查询输出两个值,如
CREATE DEFINER=`root`@`localhost` PROCEDURE `find`(IN A varchar(100), OUT B varchar(100), OUT C varchar(100))
BEGIN
Select b_col into B, c_col into C from table where a_col = A
END
似乎不可能两次使用“into”。是否需要为输出创建临时表?
实现这一目标的最佳解决方案是什么,欢迎提出任何建议
谢谢你
答案 0 :(得分:0)
您只需列出into
子句中的变量:
Select b_col into B, c_col into B, C
from table
where a_col = A;
我建议您在参数变量前加上前缀,以便将它们与列区分开来。可能是in_A
,out_B
和out_C
。
答案 1 :(得分:0)
如果内存对我有用,所有目标变量都应列在into
关键字之后,如下所示:
Select b_col, c_col into B,C from table where a_col = A