求一个存储过程的写法
目标是读取一个表是数据作为变量 来读另外一个表,红色的部分报错了,如果是读取多个字段,这里应该怎么写
DELIMITER $$
DROP PROCEDURE IF EXISTS `photo_db`.`proc_del_photo`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_del_photo`(
in p_id int(10),
in p_tablename char(20)
)
BEGIN
set @id=p_id;
set @size=0;
set @album_id=0;
/*
* using select photo_list
*/
set @q=concat('select album_id into @album_id,size into @size from ',p_tablename,' where id = ? ');
prepare sq from @q;
execute sq using @id;
/*
* using delete photo_list and update photo_ablum
*/
if(@album_id <> 0) then
set @q=concat('select * from photo_album where id = ? and size =? ');
prepare sq from @q;
execute sq using @album_id,@size;
end if;
deallocate prepare sq;
END$$
DELIMITER ;