【发布时间】:2011-07-07 13:38:48
【问题描述】:
我写了一个存储过程。但它不将表名作为参数。现在我如何将表名作为参数发送。请在下面查看我的过程:
DELIMITER $$
USE `db_test`$$
DROP PROCEDURE IF EXISTS `test_proc`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `test_proc`(IN newsInfoTable VARCHAR(100))
BEGIN
SELECT news INTO @news
FROM newsInfoTable
WHERE CURDATE()=DATE_FORMAT(date_time,'%Y-%m-%d')
ORDER BY date_time DESC LIMIT 1;
SELECT @news;
END$$
DELIMITER ;
调用参数:
USE db_test;
CALL test_proc('tbl_news_list');
但错误是:表 'db_test.newsinfotable' 不存在
如何解决这个问题。请帮忙。
【问题讨论】:
-
你已经问过这个问题,它已经被回答并且你接受了答案,这个问题与:stackoverflow.com/questions/6609778/… 有什么不同
-
亲爱的约翰,谢谢你的关心(char) 使用 date_time 函数时。所以我想要一个更好的解决方案。希望你撤回你的反对票。
-
查看这个问题和重复以及接受的答案,这是一个真正的重复,因为您没有在这个问题中包含来自接受的答案的任何信息。您的最新问题:stackoverflow.com/questions/6612530/… 确实使用了正确的做事方式,所以这不是重复的。