параметр передачи - поле после, где mysql, процедура - PullRequest
0 голосов
/ 04 июля 2018

Я делаю свой фильтр с процедурой столбца таблицы через параметр (поле после где в строке 7), но передаю столбец параметра таблицы, mysql не знает

use testphantrang;
DELIMITER $$
CREATE PROCEDURE `filter`(in field varchar(40), in giatri varchar(40),in index_of_page int)
begin
        declare xx int ;
        set xx = index_of_page*15;
        SELECT * from test where field like CONCAT('%', giatri,'%') limit xx,15;
END; $$
DELIMITER ;
call `filter`('email','b',0);

Ниже мой стол:

enter image description here

1 Ответ

0 голосов
/ 04 июля 2018
DELIMITER $$
CREATE PROCEDURE `filter`(in field varchar(40), in giatri varchar(40),in index_of_page int)
begin
        declare xx int ;
        set xx = index_of_page*15;

       set @query = CONCAT('SELECT * from test where field rlike ''', giatri,''' limit ',xx,',15;');

 PREPARE dynamic_statement FROM @query;
 EXECUTE dynamic_statement;
 DEALLOCATE PREPARE dynamic_statement;
END; $$
DELIMITER ;


call `filter`('email','b',0);
...