嵌入式培训
美国上市嵌入式培训机构

400-111-8989

热门课程

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

  • 时间:2015-01-09
  • 发布:嵌入式培训
  • 来源:嵌入式学习笔记

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数据库中的多表删除方法

嵌入式基础知识自学资料有哪些 达内干货分享

对嵌入式工程师的10点建议

嵌入式学习的四种方法

参加嵌入式开发培训需要学什么?

选择城市和中心
贵州省

广西省

海南省

台湾