Сомнение в хранимой процедуре MySql - как вернуть несколько значений для переменной? - PullRequest
1 голос
/ 17 мая 2010

У меня есть хранимая процедура ниже. Я намереваюсь эту процедуру вернуть имена всех фильмов, сыгранных актером.

 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;

Я звоню как Call ActorMovies («Джонни Депп», @ movie);

Select @move; 

В результате я получаю нулевой набор, который не верен. Я ожидаю возвращения набора фильмов, снятых Джонни Деппом. Я не уверен, почему это происходит?

Ответы [ 2 ]

1 голос
/ 17 мая 2010

В вашем предложении where вы хотите удалить одинарные кавычки раунд ScreenName (и, возможно, переименовать его, чтобы избежать двусмысленности с именами столбцов).

0 голосов
/ 23 апреля 2011
Select MovieTitle AS Title From Movies Natural Join Acts     where Acts.ScreenName = 'ScreenName '; 

Это должно решить проблему. INTO используется для параметра OUT, когда требуется одно значение. Здесь вы получаете набор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...