下面有一个存储过程。我打算这个程序返回演员扮演的所有电影的名字。
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扮演的一组电影被退回。我不确定为什么会这样?
答案 0 :(得分:1)
在where
子句中,您希望删除圆ScreenName
的单引号(并可能重命名它以避免列名称的歧义)。
答案 1 :(得分:0)
Select MovieTitle AS Title From Movies Natural Join Acts where Acts.ScreenName = 'ScreenName ';
这应该可以解决问题。当需要单个值时,INTO用于OUT参数。你在这里拿一套。