无法使用动态表名优化SP,因此许多数据库(包括MySQL)不允许动态指定表名。
解决此问题的一种方法是使用动态SQL。
CREATE DEFINER=`root`@`localhost` PROCEDURE `test_proc`(IN serviceName VARCHAr(10),IN newsInfoTable VARCHAr(100))BEGINSET @sql = CONCAt('SELECt COUNT(*) FROM ',newsInfoTable,' WHERe newsServiceName=?;'); PREPARE s1 from @sql; SET @paramA = serviceName; EXECUTE s1 USING @paramA;END$$
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)