解释下面描述的存储过程

wj8zmpe1  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(276)
CREATE DEFINER=`root`@`localhost` PROCEDURE `get_plan_images`(
    _list varchar(2000)
)
BEGIN
   SET @LIST=_list;
   set @sql = concat('SELECT plan_id, plan_image 
                        FROM ibuild.plan_images 
                       where plan_id in (', @LIST , ')');
   PREPARE q FROM @sql;
   execute q;
END

是什么 concat 你在这儿干什么?这句话是什么意思 PREPARE q FROM @sql;

h6my8fg2

h6my8fg21#

concat只是将两段或多段文本合并在一起。在上面的示例中,@list包含传入过程的id列表。在concat之后,@sql将变成一个字符串,其中包含以下内容: SELECT plan_id, plan_image FROM ibuild.plan_images where plan_id in (1,2,3) 请参见:mysql concat函数
prepare语句只是给语句一个名称,以便您可以执行它。请看这里:mysql prepare

相关问题