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
from users where ',WhereCondition,' order by ',OrderByExpress);

end;

else

begin

set @sqlstr=concat('select id,name,password,age
from users where ',WhereCondition);

end;

end if;

prepare stmt from @sqlstr;

execute stmt;

end;
注:prepare stmt from @sqlstr; 这个地方 @sqlstr 必须是这样写,不能是declare 的变量,

本文介绍了如何在MySQL中编写一个带参数的存储过程,该过程可以根据用户输入的条件和可选排序方式动态执行查询用户信息的SQL语句。调用方式为call GetUsersDynamic('age<=30',''),存储过程内部通过判断条件来决定是否包含排序部分。"
104944027,9220337,C#实现:1到n整数中1出现的次数高效算法,"['算法', 'C#编程', '面试准备', '数学思维', '代码实现']
245

被折叠的 条评论
为什么被折叠?



