Я написал хранимую процедуру.Работает нормально, за исключением того, что принимает имя таблицы в качестве входного параметра.
Давайте посмотрим мой процесс в MySQL:
DELIMITER $$
USE `db_test`$$
DROP PROCEDURE IF EXISTS test_proc$$
CREATE DEFINER=`root`@`localhost`
PROCEDURE `test_proc`(IN serviceName VARCHAR(10),IN newsInfoTable VARCHAR(100))
BEGIN
SELECT COUNT(*) FROM newsInfoTable WHERE newsServiceName=serviceName;
END$$
DELIMITER ;
Параметры вызова хранимой процедуры:
USE db_test;
CALL test_proc('abc','tbl_test_news');
Здесь параметр имени службы работает нормально.Но если я включу переменную newsInfoTable в качестве входного параметра таблицы, появится сообщение об ошибке.
Таблица 'db_test.newsinfotable' не существует
Почему это происходит толькопараметр таблицы?Как извлечь из этой ошибки или
Как передать имя таблицы в хранимую процедуру в качестве параметра?