一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - MySQL 存儲過程傳參數實現where id in(1,2,3,...)示例

MySQL 存儲過程傳參數實現where id in(1,2,3,...)示例

2020-01-13 14:26MYSQL教程網 Mysql

一個MySQL 存儲過程傳參數的問題想實現例如篩選條件為:where id in(1,2,3,...),下面有個不錯的示例,感興趣的朋友可以參考下

正常寫法: 

復制代碼代碼如下:


select * from table_name t where t.field1 in (1,2,3,4,...); 


當在寫存儲過程in里面的列表用個傳入參數代入的時候,就需要用到如下方式: 

主要用到find_in_set函數 

復制代碼代碼如下:


select * from table_name t where find_in_set(t.field1,'1,2,3,4'); 


當然還可以比較笨實的方法,就是組裝字符串,然后執行: 

復制代碼代碼如下:


DROP PROCEDURE IF EXISTS photography.Proc_Test; 
CREATE PROCEDURE photography.`Proc_Test`(param1 varchar(1000)) 
BEGIN 
set @id = param1; 
set @sel = 'select * from access_record t where t.ID in ('; 
set @sel_2 = ')'; 
set @sentence = concat(@sel,@id,@sel_2); -- 連接字符串生成要執行的SQL語句 
prepare stmt from @sentence; -- 預編釋一下。 “stmt”預編釋變量的名稱, 
execute stmt; -- 執行SQL語句 
deallocate prepare stmt; -- 釋放資源 
END; 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产农村一一级特黄毛片 | 男男gaygays中国| 人人爱天天做夜夜爽88 | 九九99精品| 跪在老师脚下吃丝袜脚 | 国产精品天天看特色大片不卡 | 亚洲欧美综合人成野草 | 国产综合第一页 | 九九精品国产兔费观看久久 | 8插8插 | 日本96在线精品视频免费观看 | 国产haodiaose最新 | 无人在线观看免费高清视频播放 | 欧美日韩亚洲综合久久久 | 日韩欧美亚洲每日更新网 | 火影小南被爆羞羞网站进入 | 亚洲欧洲网站 | 色吊丝每日永久访问网站 | 成人国产精品一级毛片视频 | www视频免费看 | 我的年轻漂亮继坶三级 | 亚洲欧美自偷自拍另类小说 | 果冻传媒天美传媒在线小视频播放 | 欧美日韩国产成人综合在线 | 韩国男女做性全过程视频 | 日本黄色高清视频网站 | a级特黄毛片免费观看 | 亚洲精品一区二区三区在线观看 | 91在线免费看 | 欧美在线欧美 | 十六一下岁女子毛片免费 | 国产成人精品福利色多多 | 午夜一级毛片看看 | 国产成人cao在线 | 美女的让男人桶爽免费看 | 污小说| 亚洲AV无码一区二区三区乱子伦 | 秋霞网毛片 | 嫩草影院永久在线播放 | 国产成人在线视频播放 | chinesemature精品 chinesefree普通对话 |