mysql存储过程写法—动态参数运用
2010-07-21 16:32
363 查看
--删除
--创建
--调用
注意事项
1 mysql5.0.13之后支持在存储过程中调用prepare
2 prepare stmt from 'select * from ?'; (错)
mysql5.0.24,prepare尚不支持 表名做变量!
解决方案:用 contat()函数,组合字符串
3 execute stmt [using @var,@var2]
必须是@var形式的变量,传入的参数变量,declare变量不行
4. deallocate prepare stmt; 显式的释放prepare,如果不释放,mysql会释放,!
drop procedure if exists up_common_select
--创建
CREATE PROCEDURE `up_common_select`
(
in t_name varchar(50)
)
begin
declare v_sql varchar(500);
set v_sql= concat('select * from ',t_name);
select v_sql;
--注意:prepare(预处理)execute stmt using @var,只能跟@var变量,declare和传入的变量不行!!!
set @v_sql=v_sql;
prepare stmt from @v_sql;
EXECUTE stmt ;
deallocate prepare stmt;
end;
--调用
call up_common_select('admin_authority');
注意事项
1 mysql5.0.13之后支持在存储过程中调用prepare
2 prepare stmt from 'select * from ?'; (错)
mysql5.0.24,prepare尚不支持 表名做变量!
解决方案:用 contat()函数,组合字符串
3 execute stmt [using @var,@var2]
必须是@var形式的变量,传入的参数变量,declare变量不行
4. deallocate prepare stmt; 显式的释放prepare,如果不释放,mysql会释放,!
相关文章推荐
- mysql存储过程写法—动态参数运用
- mysql动态sql,存储过程动态tablename,存储过程参数为表名
- MySql存储过程中limit不能动态参数问题的解决
- 关于mysql存储过程创建动态表名及参数处理
- MySql带参数的存储过程编写(动态执行SQL语句)
- MySql带参数的存储过程编写(动态执行SQL语句)
- mysql存储过程中根据传入参数,动态拼sql语句并且执行
- MySql带参数的存储过程编写(动态执行SQL语句)
- mysql 存储过程 根据参数 动态执行sql语句
- 关于mysql存储过程创建动态表名及参数处理
- MySql带参数的存储过程编写(动态执行SQL语句)
- mysql存储过程中是有字符型参数,和是表面动态用法
- mysql在存储过程中从结果集给多个参数赋值的办法
- 存储过程返回参数的方法(也是执行动态sql 实现列名成为变量的功能)
- [转载]pl/sql动态调用带参数的存储过程
- mysql 存储过程动态执行sql 例子
- mysql存储过程执行动态sql
- MySQL存储过程例子,包含事务,参数,嵌套调用,游标,循环等
- MySQL 存储过程参数用法 in, out, inout
- MySQL存储过程的参数