相关疑难解决方法(0)

Mysql存储过程不将表名作为参数

我写了一个存储过程.除了将表名作为输入参数之外,它工作正常.

让我在MySQL中查看我的proc:

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 ;
Run Code Online (Sandbox Code Playgroud)

存储过程调用参数:

USE db_test;
CALL test_proc('abc','tbl_test_news');
Run Code Online (Sandbox Code Playgroud)

这里服务名称参数工作正常.但是如果我将newsInfoTable变量包含为表输入参数,则会显示错误.

表'db_test.newsinfotable'不存在

为什么这只发生在table参数中?如何从此错误中检索或

我如何将表名作为参数传递给存储过程?

mysql stored-procedures

4
推荐指数
2
解决办法
1万
查看次数

标签 统计

mysql ×1

stored-procedures ×1