Преобразование запроса MySQL в процедуру, которая принимает параметр - PullRequest
0 голосов
/ 27 октября 2010

Я использую базу данных VSC ++ и MySQL ver.5.2.25, я проверил запрос в MySQL, который выглядит следующим образом:

   select Name from test.virus where Name LIKE 'b' '%' ORDER BY Name;

Он работает хорошо и возвращает все имена, начинающиеся с 'b', я хочу использовать подпрограмму вместо этого запроса, чтобы я мог вызвать подпрограмму из моей программы. Я пробовал это:

-- --------------------------------------------------------------------------------
-- Routine DDL
-- --------------------------------------------------------------------------------
DELIMITER $$

CREATE DEFINER=`root`@`localhost` PROCEDURE `StartWith`(NewName VarChar(20))
BEGIN
select NameVirus from test.virus 
where NameVirus LIKE "'+NewName+' '%'" ORDER BY NameVirus;
END

Когда я вызываю подпрограмму в MySQL, ошибки нет, но в результате получается пустая таблица, я предполагаю, что проблема связана с типом аргумента. Какой тип должен быть параметром "NewName"?
Большое спасибо за любой ответ

1 Ответ

0 голосов
/ 27 октября 2010

Ваше условие как в примере запроса ошибочно.Это должно быть 'b%'.

Процедура, в которой предложение может выглядеть так:

where NameVirus LIKE CONCAT(NewName,'%') order by NameVirus
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...