国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

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

2020-01-18 23:28:38
字體:
來源:轉載
供稿:網友
正常寫法:
復制代碼 代碼如下:

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;
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昆山市| 桐乡市| 水富县| 巴彦县| 时尚| 青龙| 荔浦县| 双鸭山市| 临漳县| 积石山| 岳西县| 德清县| 周口市| 若尔盖县| 揭东县| 屯昌县| 屏东县| 双牌县| 白朗县| 勃利县| 类乌齐县| 邵东县| 舒兰市| 田林县| 景洪市| 同心县| 南岸区| 安徽省| 敖汉旗| 二连浩特市| 宁河县| 凤庆县| 罗定市| 宁南县| 天台县| 岳池县| 太白县| 平远县| 北流市| 寿阳县| 彭泽县|