更多课程 选择中心

嵌入式培训
达内IT学院

400-996-5531

嵌入式培训_MySql存储过程带参数处理方式

  • 发布:嵌入式培训
  • 来源:嵌入式学习笔记
  • 时间:2015-05-22 17:27

mysql数据库在现在开发中占有越来与重要的位置,下文介绍的MySql存储过程是带参数的存储过程(动态执行SQL语句),该MySql存储过程是根据用户输入的条件和排序方式查询用户的信息,排序条件可以没有调用方式:

call GetUsersDynamic(age<=30,);

/********动态查询用户的信息********/

CREATE PROCEDURE GetUsersDynamic(WhereCondition varchar(500),OrderByExpress varchar(100))

begin

declare stmt varchar(2000);

if LENGTH(OrderbyExpress)>0 then

begin

set @sqlstr=concat(select id,name,password,age,getdate(adddate) as AddDate from users where ,WhereCondition, order by ,OrderByExpress);

end;

else

begin

set @sqlstr=concat(select id,name,password,age,getdate(adddate) as AddDate from users where ,WhereCondition);

end;

end if;

prepare stmt from @sqlstr;

execute stmt;

end;

getdate()是一个自定义的函数,作用是返回日期的短格式

CREATE DEFINER=`root`@`localhost` FUNCTION `getdate`($date datetime) RETURNS varchar(50) CHARSET latin1
return date_format($date,%Y-%m-%d);
动态插入数据的MySql存储过程,(注意四个单引号表示一个一引号):
CREATE DEFINER=`root`@`localhost` PROCEDURE `InsertUser`(in name2 varchar(50),in password2 varchar(32),in age2 int,in adddate2 datetime)
   begin

DECLARE stmt varchar(2000);

set @sqlstr=concat(insert into users(name,password,age,adddate) values();

set @sqlstr=concat(@sqlstr,,name2,,,,,password2,,,,age2,,,,adddate2,,));

prepare stmt from @sqlstr;

execute stmt;

end;

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:教你如何区分mysql版本
下一篇:在MySQL数据库中的多表删除方法

嵌入式工程师离不开的的IC设计软件

工程师用到的PCB设计软件你用过几个?

看嵌入式Linux设备驱动module_init 的神奇之处!

嵌入式干货分享之你不可不知的嵌入式领域中的各种文件系统

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省