MySQL存储过程不使用表名作为参数

MySQL存储过程不使用表名作为参数,第1张

MySQL存储过程不使用表名作为参数

无法使用动态表名优化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$$


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5044213.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存