mysql 5.7.20 动态sql 传入参数


drop procedure test; delimiter ;; CREATE procedure test() -- 取动态sql的值 
-- 目前只测试出,在 where 后面, 可以用 ?,类似于 java的 preparestatement写法,
-- 表名,查询字段 是否可以也用? 代替,目前没有测试成功
begin DECLARE v_sqlcounts varchar(500); DECLARE recordcount varchar(500); set v_sqlcounts = concat('select * from test where id > ?'); set @sqlcounts := v_sqlcounts; #预处理动态SQL set @b=3; prepare stmt from @sqlcounts; #传递动态SQL内参数 execute stmt using @b; deallocate prepare stmt; #获取动态SQL语句返回值 SELECT @b; end ;; delimiter ; call test();

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM