教程集 www.jiaochengji.com
教程集 >  数据库  >  mysql  >  正文 MySQL 存储过程传参数实现where id in(1,2,3,...)的例子

MySQL 存储过程传参数实现where id in(1,2,3,...)的例子

发布时间:2016-01-29   编辑:jiaochengji.com
分享一例mysql代码,用于在mysql的存储过程中,实现类似where id in(1,2,3,...)的功能,有兴趣的朋友参考学习下。

sql语句:
 

复制代码 代码示例:
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;

您可能感兴趣的文章:
MySQL 存储过程传参数实现where id in(1,2,3,...)的例子
分享:Mysql 5.0存储过程学习总结
mysql动态游标与mysql存储过程游标(示例)
mysql存储过程实例教程
mysql 存储过程用法举例
mysql批量插入(insert)与批量更新(update)的例子
mysql的call用法 调用带参数的存储过程
mysql存储过程简单实例
mysql实例:在存储过程中创建临时表并储存数据
MySql带参数存储过程(动态执行SQL语句)

[关闭]
~ ~