MySQL 有输入输出参数的存储过程实例
DELIMITER //
DROP PROCEDURE IF EXISTS `test`.`p_getvalue` //
CREATE DEFINER=`root`@`localhost` PROCEDURE `p_getvalue`(
in id varchar(20),out s varchar(20)
)
begin
if (length(id)=11) then select 'A_B_C_D' into s;
elseif(length(id)=8) then select 'A_B_C' into s;
elseif(length(id)=5) then select 'A_B' into s;
elseif(length(id)=2) then select 'A' into s;
end if;
select s;
end //
DELIMITER ;
CALL p_getvalue('11000112',@S)
3、结果
'A_B_C'
相关推荐
-
mysql存储过程 在动态SQL内获取返回值的方法详解
MySql通用分页存储过程过程参数 复制代码 代码如下: p_cloumns varchar(500),p_tables varchar(100),p_where varchar(4000),p_order varchar(100),p_pageindex int,p_pagesize int,out p_recordcount int,out p_pagecount int $:begin declare v_sqlcounts varchar(4000); declare v_s
-
MySQL 存储过程中执行动态SQL语句的方法
drop PROCEDURE if exists my_procedure; create PROCEDURE my_procedure() BEGIN declare my_sqll varchar(500); set my_sqll='select * from aa_list'; set @ms=my_sqll; PREPARE s1 from @ms; EXECUTE s1; deallocate prepare s1; end;
-
MySQL存储过程例子(包含事务,输出参数,嵌套调用)
drop procedure if exists pro_rep_shadow_rs; delimiter | ---------------------------------- -- rep_shadow_rs -- 用来处理信息的增加,更新和删除 -- 每次只更新上次以来没有做过的数据 -- 根据不同的标志位 -- 需要一个输出的参数, -- 如果返回为0,则调用失败,事务回滚 -- 如果返回为1,调用成功,事务提交 -- -- 测试方法 -- call pro_rep_shadow_rs
-
mysql存储过程 游标 循环使用介绍
Mysql的存储过程是从版本5才开始支持的,所以目前一般使用的都可以用到存储过程.今天分享下自己对于Mysql存储过程的认识与了解. 一些简单的调用以及语法规则这里就不在赘述,网上有许多例子.这里主要说说大家常用的游标加循环的嵌套使用. 首先先介绍循环的分类: (1)WHILE ... END WHILE (2)LOOP ... END LOOP (3)REPEAT ... END REPEAT (4)GOTO 这里有三种标准的循环方式:WHILE循环,LOOP循环以及REPEAT循环.还有一种
-
MySQL存储过程使用实例详解
例1.一个简单存储过程游标实例 复制代码 代码如下: DELIMITER $$ DROP PROCEDURE IF EXISTS getUserInfo $$CREATE PROCEDURE getUserInfo(in date_day datetime)-- -- 实例-- 存储过程名为:getUserInfo-- 参数为:date_day日期格式:2008-03-08-- BEGINdeclare _userName varchar(12); -- 用户名declare _chine
-
mysql 存储过程中变量的定义与赋值操作
一.变量的定义 mysql中变量定义用declare来定义一局部变量,该变量的使用范围只能在begin...end 块中使用,变量必须定义在复合语句的开头,并且是在其它语句之前,也可以同时申明多个变量,如果需要,可以使用default赋默认值. 定义一个变量语法如下: declare var_name[,...] type[default value]看一个变量定义实例 declare last date;二.mysql存储过程变量赋值 变量的赋值可直接赋值与查询赋值来操作,直接赋值可以用set
-
mysql多次调用存储过程的问题
问题是这样的,在直接使用mysql c api构建应用的时候,一个连接只能执行一次存储过程,不管怎样free再次利用这个连接的时候就会出现不能执行qurry的提示,我想,这么大型的软件 不会存在这样的基础性问题吧,毕竟大多数的adodb都是基于c api的,难道所有的软件都无法进行连接缓存? 别说,接触到这类问题的人还真不多,大多数的连接池都写好了,谁会去直接构建连接进行操作呢,所以baidu google基本都没有结果,今天回头来解决这个问题,突然就有了突破,找到了一篇文章<对Mysql的C
-
MySQL 存储过程的基本用法介绍
在外部程序访问数据库时(例如 PHP),要组织很多 SQL 语句. 特别是业务逻辑复杂的时候,一大堆的 SQL 和条件夹杂在 PHP 代码中,让人不寒而栗.现在有了 MySQL 存储过程,业务逻辑可以封装存储过程中,这样不仅容易维护,而且执行效率也高. 一.MySQL 创建存储过程 "pr_add" 是个简单的 MySQL 存储过程,这个MySQL 存储过程有两个 int 类型的输入参数 "a"."b",返回这两个参数的和. 复制代码 代码如下:
-
mysql存储过程中使用游标的实例
复制代码 代码如下: DELIMITER $$ DROP PROCEDURE IF EXISTS getUserInfo $$ CREATE PROCEDURE getUserInfo(in date_day datetime)-- -- 实例-- MYSQL存储过程名为:getUserInfo-- 参数为:date_day日期格式:2008-03-08-- BEGINdeclare _userName varchar(12); -- 用户名declare _chinese int ; -
-
深入mysql创建自定义函数与存储过程的详解
一 创建自定义函数在使用mysql的过程中,mysql自带的函数可能不能完成我们的业务需求,这时就需要自定义函数,例如笔者在开发过程中遇到下面这个问题:mysql表结构如下 复制代码 代码如下: DROP TABLE IF EXISTS `test`;CREATE TABLE `test` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `pic` varchar(50) NOT NULL, `hashcode` varchar(16) N
-
MySQL实现创建存储过程并循环添加记录的方法
本文实例讲述了MySQL实现创建存储过程并循环添加记录的方法.分享给大家供大家参考,具体如下: 先创建,然后调用: -- 创建存储过程 DELIMITER;// create procedure myproc() begin declare num int; set num=1; while num <= 24 do insert into t_calendar_hour(hourlist) values(num); set num=num+1; end while; commit; end;/
随机推荐
- ASP.NET Core中使用xUnit进行单元测试
- AJAX下的请求方式以及同步异步的区别小结
- javascript面向对象程序设计高级特性经典教程(值得收藏)
- java微信企业号开发之开发模式的开启
- python生成随机mac地址的方法
- C++十六进制宏的用法详解
- Android新特性ConstraintLayout完全解析
- dede3.1分页文字采集过滤规则详说(图文教程)
- Emm386、Lh、Memmaker命令使用说明
- jquery 元素相对定位代码
- MyEclipse常用配置图文教程
- 伪静态与真静态哪种合适更适合你的站第1/2页
- java日期操作工具类(获取指定日期、日期转换、相隔天数)
- java中Callback简单使用总结
- C#中的值传递和引用传递详细解析
- python使用itchat库实现微信机器人(好友聊天、群聊天)
- python正则表达式及使用正则表达式的例子
- 详解vue项目打包后通过百度的BAE发布到网上的流程
- C++11并发编程:多线程std::thread
- Python Web编程之WSGI协议简介