0
Когда я называю процедуру, она возвращает ошибку:Сохраненная ошибка процедура, когда вызывается
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NULL' at line 1
Как это исправить, у меня есть ошибка в моем коде процедуры?
Вот моя хранимая процедура:
DELIMITER $$
DROP PROCEDURE IF EXISTS `gamedb`.`ALIAS#SEARCH`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `ALIAS#SEARCH`(
in section_id varchar(255),
in category_id varchar(255),
in content_id varchar(255)
)
BEGIN
declare q varchar(4000);
set @q = 'SELECT * FROM tbl_alias WHERE ALIAS_ACTIVE_STATUS=1';
IF section_id IS NOT NULL THEN
set @q = concat(q,' AND ALIAS_SECTION_ID = ',section_id);
END IF;
IF category_id IS NOT NULL THEN
set @q = concat(q,' AND ALIAS_CATEGORY_ID = ',category_id);
END IF;
IF content_id IS NOT NULL THEN
set @q = concat(q,' AND ALIAS_CONTENT_ID = ',content_id);
END IF;
set @q= concat(q,' ORDER BY ALIAS_ID DESC');
prepare stmt from @q;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END$$
DELIMITER ;
@Hendra Помогло ли это? Вам нужна дополнительная помощь по вашему вопросу? – peterm
Да, это работает. Спасибо за вашу помощь :) Это так полезно :) – Hendra
@ Хендра Добро пожаловать. Пожалуйста, отметьте ответ, как принято. Вот [как это сделать] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work). – peterm