存储过程和函数:
1.创建存储过程和函数:
存储过程:
delimiter $$
create procedure proc_name()
BEGIN
查询语句; // 记得加分号
END
$$
delimiter ;
函数:
delimiter $$
create function func_name(属性字段 数据类型)
returns 数据类型 // 这的数据类型与下面查询语句查询的属性字段数据类型相同
BEGIN
return (查询语句)
END
$$
delimiter ;
2.使用存储过程和函数:
存储过程:
call proc_name;
函数:
select func_name(参数);
3.查看存储过程:
show procedure status;
show function status;
show create procedure proc_name;
show create function func_name;
4.修改:
ALTER PROCEDURE procedure_name
  [characteristic…]
ALTER FUNCTION function_name
  [characteristic…]
5.删除:
DROP PROCEDURE proce_name;
DROP FUNCTION func_name;
例子:
DROP PROCEDURE IF EXISTS emplayee_count;
DELIMITER $
#创建存储过程
CREATE PROCEDURE emplayee_count (OUT NUM INTEGER)
BEGIN
#声明变量
DECLARE   emplayee_sal INTEGER;DECLARE   flag INTEGER;
#声明游标
DECLARE cursor_emplayee
  CURSOR FOR SELECT sal FROM t_employee;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET flag = 1;
#设置结束标志
SET flag=0;SET NUM=0;‘
#打开游标
OPEN cursor_emplayee;
#遍历游标指向的结果集
FETCH cursor_emplayee INTO emplayee_sal;
WHILE flag<>1 DO
IF emplayee_sal >999 THEN
SET num=num+1;
END IF;
FETCH cursor_emplayee INTO emplayee_sal;
END WHILE;
#关闭游标
CLOSE cursor_emplayee;
END$
DELIMITER ;
 
如何使用:
call emplayee_count(@count);
select @count;
 

MySQL之存储过程和函数的更多相关文章

  1. MySQL:存储过程和函数

    存储过程和函数 一.创建存储过程和函数 1.创建存储过程 语法: CREATE PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic . ...

  2. MYSQL的存储过程和函数简单写法

    存储过程 MySQL中,创建存储过程的基本形式如下: CREATE PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] ro ...

  3. mysql 用存储过程和函数分别模拟序列

    在其他大部分DBMS里都有序列的概念,即Sequence或Generator. 而mysql里没有,但有时真的很有用.下面分别用存储过程和函数来模拟序列,并用程序模拟并发场景来测试原子性和完整性,是否 ...

  4. Mysql中存储过程和函数的写法

    MySQL中,创建存储过程的基本形式如下: CREATE PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] routine ...

  5. mysql的存储过程,函数,事件,权限,触发器,事务,锁,视图,导入导出

    1.创建过程 1.1 简单创建 -- 创建员工表 DROP TABLE IF EXISTS employee; CREATE TABLE employee( id int auto_increment ...

  6. mySQL查看存储过程、函数、视图、触发器

    一.查看存储过程 1.show procedure status; //查看所有的 2.show create procedure proc_AllUser[proc_name]; 查看proc_Al ...

  7. navicat 给mysql 添加存储过程(函数)

    BEGIN DECLARE i INT default 0; DECLARE num int default 0; DECLARE count1 int default 0; DECLARE coun ...

  8. 我的MYSQL学习心得(十) 自定义存储过程和函数

    我的MYSQL学习心得(十) 自定义存储过程和函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心 ...

  9. MySQL 存储过程和函数

    概述 一提到存储过程可能就会引出另一个话题就是存储过程的优缺点,这里也不做讨论,一般别人问我我就这样回答你觉得它好你就用它.因为mysql中存储过程和函数的语法非常接近所以就放在一起,主要区别就是函数 ...

随机推荐

  1. hostPath Volume - 每天5分钟玩转 Docker 容器技术(148)

    hostPath Volume 的作用是将 Docker Host 文件系统中已经存在的目录 mount 给 Pod 的容器.大部分应用都不会使用 hostPath Volume,因为这实际上增加了 ...

  2. swift textview禁止用户使用复制粘贴

    //自定义一个TextView class Own_TextView: UITextView { override func caretRect(for position: UITextPositio ...

  3. C语言博客作业—嵌套循环

    一.PTA实验作业 题目1:7-4 换硬币 1. 本题PTA提交列表 2. 设计思路 (1)定义整型变量money表示待换的零钱总额,p5表示5分硬币的数量,p2表示2分硬币的数量,p1表示1分硬币的 ...

  4. MySQL 自关联查询

    定义表areas,结构如下 id atitle pid 因为省没有所属的省份,所以可以填写为null 城市所属的省份pid,填写省所对应的编号id 这就是自关联,表中的某一列,关联了这个表中的另外一列 ...

  5. python的迭代器、生成器、装饰器

    迭代器.生成器.装饰器 在这个实验里我们学习迭代器.生成器.装饰器有关知识. 知识点 迭代器 生成器 生成器表达式 闭包 装饰器 实验步骤 1. 迭代器 Python 迭代器(Iterators)对象 ...

  6. git中级技能

    中级技能(上)               一.实验说明 从本节开始,我们会介绍一些中级和高级的用法,这些用法很少用到,前面三节的内容已经满足了日常工作需要,从本节开始的内容可以简单了解,需要的时候再 ...

  7. DOM相关知识

    一.查找元素 间接查找 parentNode // 父节点 childNodes // 所有子节点 firstChild // 第一个子节点 lastChild // 最后一个子节点 nextSibl ...

  8. C语言Linix服务器网络爬虫项目(一)项目初衷和网络爬虫概述

    一.项目初衷和爬虫概述 1.项目初衷 本人的大学毕设就是linux上用c写的一个爬虫,现在我想把它完善起来,让他像一个企业级别的项目.为了重复发明轮子来学习轮子的原理,我们不使用第三方框架(这里是说的 ...

  9. nodeJs多进程Cluster

    在前端页面中,如果我们想进行多进程,我们会用到WebWorker,而在NodeJs中,我们如果想充分利用服务器核心资源,我们会用到Node中Cluster模块 直接上代码吧: const cluste ...

  10. matlab 对tif数据高程图的处理分析

    temp=z(101:2200,101:2200) 根据图像属性可得此为2300*2300的tif图像,由于需要将其划分为9宫格,所以begin点设置为101,end点设置为2200,temp转化为可 ...