2014-02-03 2 views
0

Я новичок в MYSQL. Я хочу вернуть значение параметра out для запроса select, но он всегда будет возвращать null. Я сделал образец, пожалуйста, взгляните и любезно предложите мне, как решить эту проблему.MYSQL Out Параметр всегда возвращает значение null для выбранного запроса

SET ->http://sqlfiddle.com/#!2/0195c/1
SELECT ->http://sqlfiddle.com/#!2/ed9c82/1

Да его работает нормально, но мой фактический запрос

CREATE DEFINER = root @localhost ПРОЦЕДУРЫ SignIn (В p_strUsername VARCHAR (100), В p_strPassword varchar (100), out p_UserID long) BEGIN Выбрать p_UserID = Пользователь. Пользователь с пользователем Внутреннее соединение UserInfo on User.Id = UserInfo.UserID где User.UserName = p_strUsername и user.Password = SHA1 (p_strPassword);

select p_UserID; 

END

Пожалуйста, предложите мне. !!

ответ

0

Вы выполняете назначение в инструкции select.

Вы можете установить значение, используя инструкцию set. Сначала установите значение как

SET <variablename> = <value>; 

затем

SELECT <variable name>; 

проверить это http://sqlfiddle.com/#!2/0e1cc/1

Чтобы присвоить значение переменной судится SELECT, Вы можете сделать это, как

SELECT <colname>,<colname> ..INTO <variable>, <variable> from <tbl>. 
+0

да ваш запрос выполняется отлично. Но мой фактический запрос, который я отправил с моим вопросом, который всегда будет возвращать null. – Selva

+0

что это "выберите p_UserID = User.Id"? И почему? – developerCK

+0

Установить параметр Output на P_USERID. – Selva

Смежные вопросы