程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Mysql存儲過程處理動態參數

Mysql存儲過程處理動態參數

編輯:MySQL綜合教程

Mysql存儲過程處理動態參數   Sql代碼   --刪除        drop procedure if exists up_common_select     --創建     CREATE PROCEDURE `up_common_select`       (        in t_name varchar(50)       )       begin        declare v_sql varchar(500);        set v_sql= concat('select * from ',t_name);        select v_sql;     --注意:prepare(預處理)execute stmt using @var,只能跟@var變量,declare和傳入的變量不行!!!        set @v_sql=v_sql;        prepare stmt from @v_sql;        EXECUTE stmt ;        deallocate prepare stmt;       end;     --調用        call up_common_select('admin_authority');       注意事項    1 mysql5.0.13之後支持在存儲過程中調用prepare    2 prepare stmt from 'select * from ?'; (錯)    mysql5.0.24,prepare尚不支持 表名做變量!    解決方案:用 contat()函數,組合字符串    3 execute stmt [using @var,@var2]    必須是@var形式的變量,傳入的參數變量,declare變量不行    4. deallocate prepare stmt; 顯式的釋放prepare,如果不釋放,mysql會釋放,!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved