MySql带参数的存储过程编写(动态执行SQL语句)
2013-08-09 16:25
891 查看
调用方式: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语句)
- MySql带参数的存储过程编写(动态执行SQL语句)
- MySql带参数的存储过程编写(动态执行SQL语句)
- mysql 存储过程 根据参数 动态执行sql语句
- mysql存储过程中根据传入参数,动态拼sql语句并且执行
- MySQL存储过程中实现执行动态SQL语句的方法
- MySQL 存储过程中执行动态 SQL 语句
- mysql存储过程执行动态sql语句
- mysql存储过程执行动态sql语句
- MySQL存储过程中实现执行动态SQL语句的方法
- MySQL 存储过程中执行动态SQL语句的方法
- mysql 存储过程动态执行sql语句
- MySQL 存储过程中执行动态SQL语句的方法
- mysql存储过程执行动态sql语句并返回值
- 一个存储过程:带参数动态执行sql语句:Execute Immediate
- mysql 动态执行存储过程语句
- mysql存储过程执行动态sql
- mysql,dos下执行SQL语句创建存储过程出错ERROR 1064 (42000):
- 在SQL存储过程内拼条件,动态生成SQL语句执行
- MSSQL存储过程中执行动态Sql语句