存储过程中的疑问MySql - 如何为变量返回多个值?

时间:2010-05-17 16:06:57

标签: mysql stored-procedures

下面有一个存储过程。我打算这个程序返回演员扮演的所有电影的名字。

 Create Procedure ActorMovies(
  In ScreenName varchar(50),
  OUT Title varchar(50)
  )
  BEGIN
  Select MovieTitle INTO Title  
   From Movies Natural Join Acts 
   where Acts.ScreenName = 'ScreenName ';
 End;
我打个电话     致电ActorMovies('Jhonny Depp',@ movie);

Select @move; 

我得到的结果是Null设置,这是不正确的。我期待Jhonny Depp扮演的一组电影被退回。我不确定为什么会这样?

2 个答案:

答案 0 :(得分:1)

where子句中,您希望删除圆ScreenName的单引号(并可能重命名它以避免列名称的歧义)。

答案 1 :(得分:0)

Select MovieTitle AS Title From Movies Natural Join Acts     where Acts.ScreenName = 'ScreenName '; 

这应该可以解决问题。当需要单个值时,INTO用于OUT参数。你在这里拿一套。