蓝精灵——默默争上游

改变世界的是这么一群人,他们寻找梦想中的乐园,当发现找不到时,就亲手创造了她...(专注IT的技术文章+生活随笔)...

mysql存储过程中sql的拼接

使用“like”
CREATE procedure pro_sql_data(in sear_name  varchar(2000))  
BEGIN   
declare vid bigint(20);
if sear_name is not null and sear_name!='' then
select ad_place_id into vid from ad_place where name like concat('%',sear_name,'%');
end if;
...
END$$


使用“=”
CREATE procedure pro_sql_data(in sear_name  varchar(2000))  
BEGIN   
declare vid bigint(20);
if sear_name is not null and sear_name!='' then
select ad_place_id into vid from ad_place where name =sear_name;
end if;
...
END$$


在游标中使用变量
CREATE procedure pro_sql_data(in combineId  bigint(20))  
BEGIN   
declare vid bigint(20);
-- 定义游标
DECLARE rs_cursor CURSOR FOR select type,object_id from combine_code_normal where combine_id=combineId;
...
END$$


在动态sql中使用
CREATE procedure pro_sql_data(in qfs  varchar(20),in ids  varchar(20))  
BEGIN   
declare sql1 varchar(2000);
set sql1 = concat('select name  into @colsTmp from dd_report_query_fields e where e.status!=-1 and table_id in (',ids,')');
if qfs is not null and qfs !='' THEN
set sql1 = concat(sql1,' and (e.type=2 and e.table_id in (',qfs,')) ');
end if;

set @ms=sql1;
PREPARE s1 from @ms;
EXECUTE s1;
deallocate prepare s1; 
set colsStr = @colsTmp;
...
END$$
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liuxiao723846/article/details/46820291
个人分类: java 数据库-mysql
上一篇MyBatis调用存储过程,含有返回结果集、return参数和output参数
下一篇DWR中获得session,request,response的方法(转)
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭