mysql存储过程中sql的拼接

原创 2015年07月09日 18:15:52
使用“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$$
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

MYSQL存储过程执行用字符串拼成的sql语句

MYSQL存储过程执行用字符串拼成的sql语句

MySQL存储过程执行拼接语句

delimiter // create procedure sp_concat() begin declare v_date varchar(4000); declare v_sql varc...

mysql存储过程执行动态sql

DROP PROCEDURE IF EXISTS vtzero_good.event_select_requestor; delimiter && CREATE PROCEDURE vtzero_...

mysql 存储过程变量拼接

有时候我们需要模糊查询,但是同时我们又要 在模糊查询的时候使用变量,我们又想在变量的后面拼接一个%去匹配模糊查询 那么就会用到 concat函数 示例如下: ...

mysql用游标执行动态语句

delimiter $$     create procedure sp_test()      BEGIN         declare tmp varchar(1000);       decl...

mysql字符串拼接,存储过程

MySQL concat函数可以连接一个或者多个字符串,如 select concat(‘10’); 结果:10 select concat(‘11’,’22’,’33’); 结果 112...

MySQL带参数的存储过程小例子

存储过程P_GET_CLASS_NAME是根据输入的班级号判断班级名称 存储过程P_INSERT_STUDENT是接收输入的学生信息,最终将信息插入学生表。 DROP PROCEDURE IF EXI...

mysql 字符串分割 和 动态执行拼接sql

人以前主要用的是MSSQL,最近项目在使用MYSQL,自己是一个 典型的小白。今天就记录一下 一个mysql存储过程,里面需要分割字符串和 动态执行sql语句。 关于字符串 分割我开始使用 LO...
  • dz45693
  • dz45693
  • 2017年03月14日 10:00
  • 991

mysql 多日志表结果集合拼接存储过程

通常单天的日志 只记录当天的日志信息,如果需要查看一月内的日志信息需要对每天的日志表结果集合进行拼接,通常用到 union 。 储存过程: drop PROCEDURE if EXISTS un...

mysql存储过程,结果集遍历,if -else

BEGIN #Routine body goes here... #根据指定用户,统计用户关注,粉丝,黑名单个数 #用户关注或取消关注,拉黑或取消拉黑时调用该存储过程   DE...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mysql存储过程中sql的拼接
举报原因:
原因补充:

(最多只允许输入30个字)