mysql存储过程写法—动态参数运用

MAX俱乐部

MAX俱乐部

2016-02-19 19:51

最近很多朋友喜欢上设计,但是大家却不知道如何去做,别担心有图老师给你解答,史上最全最棒的详细解说让你一看就懂。

  --删除
     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

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  2 prepare stmt from 'select * from ?'; (错)

  mysql5.0.24,prepare尚不支持 表名做变量!

  解决方案:用 contat()函数,组合字符串

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  3 execute stmt [using @var,@var2]

  必须是@var形式的变量,传入的参数变量,declare变量不行

  4. deallocate prepare stmt; 显式的释放prepare,如果不释放,mysql会释放,!

展开更多 50%)
分享

猜你喜欢

mysql存储过程写法—动态参数运用

编程语言 网络编程
mysql存储过程写法—动态参数运用

mysql 动态执行存储过程语句

编程语言 网络编程
mysql 动态执行存储过程语句

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

MySQL 有输入输出参数的存储过程实例

编程语言 网络编程
MySQL 有输入输出参数的存储过程实例

mysql 教程 存储过程

编程语言 网络编程
mysql 教程 存储过程

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

mysql 存储过程的问题

编程语言 网络编程
mysql 存储过程的问题

mysql 树形结构查询(存储过程)

编程语言 网络编程
mysql 树形结构查询(存储过程)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

“心”对不起了,让你一次次纠结、痛.

“心”对不起了,让你一次次纠结、痛.

Mysql服务无法启动的1067错误解决

Mysql服务无法启动的1067错误解决
下拉加载更多内容 ↓