欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > 数据库 >内容正文

数据库

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

发布时间:2025/7/25 数据库 61 豆豆
生活随笔 收集整理的这篇文章主要介绍了 mysql存储过程写法—动态参数运用 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

 --删除

双击代码全选
1 drop procedure if exists up_common_select

 

  --创建

双击代码全选
1 2 3 4 5 6 7 8 9 10 11 12 13 14 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;

  --调用

双击代码全选
1 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会释放,!

 

转载于:https://www.cnblogs.com/jiligalaer/p/3962328.html

总结

以上是生活随笔为你收集整理的mysql存储过程写法—动态参数运用的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。