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存储过程中使用游标的实例
复制代码 代码如下: 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实现创建存储过程并循环添加记录的方法.分享给大家供大家参考,具体如下: 先创建,然后调用: -- 创建存储过程 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;/
-
mysql多次调用存储过程的问题
问题是这样的,在直接使用mysql c api构建应用的时候,一个连接只能执行一次存储过程,不管怎样free再次利用这个连接的时候就会出现不能执行qurry的提示,我想,这么大型的软件 不会存在这样的基础性问题吧,毕竟大多数的adodb都是基于c api的,难道所有的软件都无法进行连接缓存? 别说,接触到这类问题的人还真不多,大多数的连接池都写好了,谁会去直接构建连接进行操作呢,所以baidu google基本都没有结果,今天回头来解决这个问题,突然就有了突破,找到了一篇文章<对Mysql的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创建自定义函数与存储过程的详解
一 创建自定义函数在使用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中变量定义用declare来定义一局部变量,该变量的使用范围只能在begin...end 块中使用,变量必须定义在复合语句的开头,并且是在其它语句之前,也可以同时申明多个变量,如果需要,可以使用default赋默认值. 定义一个变量语法如下: declare var_name[,...] type[default value]看一个变量定义实例 declare last date;二.mysql存储过程变量赋值 变量的赋值可直接赋值与查询赋值来操作,直接赋值可以用set
-
MySQL 存储过程的基本用法介绍
在外部程序访问数据库时(例如 PHP),要组织很多 SQL 语句. 特别是业务逻辑复杂的时候,一大堆的 SQL 和条件夹杂在 PHP 代码中,让人不寒而栗.现在有了 MySQL 存储过程,业务逻辑可以封装存储过程中,这样不仅容易维护,而且执行效率也高. 一.MySQL 创建存储过程 "pr_add" 是个简单的 MySQL 存储过程,这个MySQL 存储过程有两个 int 类型的输入参数 "a"."b",返回这两个参数的和. 复制代码 代码如下:
-
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存储过程 游标 循环使用介绍
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存储过程例子(包含事务,输出参数,嵌套调用)
drop procedure if exists pro_rep_shadow_rs; delimiter | ---------------------------------- -- rep_shadow_rs -- 用来处理信息的增加,更新和删除 -- 每次只更新上次以来没有做过的数据 -- 根据不同的标志位 -- 需要一个输出的参数, -- 如果返回为0,则调用失败,事务回滚 -- 如果返回为1,调用成功,事务提交 -- -- 测试方法 -- call pro_rep_shadow_rs
随机推荐
- struts2中通过json传值解决乱码问题的实现方法
- vim的一些常用简单操作小结
- java生成随机数的常用方法分析
- 详解GridView自带的编辑删除更新功能
- JS中input表单隐藏域及其使用方法
- PHP模板引擎Smarty中变量的使用方法示例
- jsp防止跨域提交数据的具体实现
- Android数据存储之SQLite使用
- js实现鼠标触发图片抖动效果的方法
- Android实现粒子爆炸效果的方法
- 手把手教你如何优化C语言程序
- 字符串desede 3des加密示例分享
- 7种php基本排序实现方法
- Golang 统计字符串字数的方法示例
- JMS简介与ActiveMQ实战代码分享
- vue实现下拉加载其实没那么复杂
- MySQL修改root密码的4种方法(小结)
- Java静态内部类实现单例过程
- Android APP存活检测方式
- JavaScript利用键盘码控制div移动