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