MySQL存储过程、函数和游标
这里我新建了两个表,一个users和test
CREATE TABLE users(
username varchar(20),
pwd varchar(30)
);
CREATE TABLE test(
id INT,
username VARCHAR(20)
)

这里向users表中插入了多条数据,主要是为了测试存储过程和游标的使用
1.不带参数的存储过程,从users表中查出所有数据
BEGIN
SELECT * FROM users;
END
结果和上图一样
2.带参数的存储过程
BEGIN
SELECT * FROM users WHERE pwd=name_in;
END
这里根据传入的pwd不同结果集不同
3.函数
RETURN (SELECT users.pwd FROM users WHERE users.username = 'gxf')
下面是游标的使用
这里新建了一个存储过程,并在存储过程中使用游标遍历users表,在遍历的时候向test表中插入一条数据,(1,username)username来自users表中
BEGIN
DECLARE TEMP_NAME VARCHAR(20) DEFAULT 'GXF';
DECLARE TEMP_PWD VARCHAR(30) DEFAULT '';
DECLARE DONE INT DEFAULT 0;
DECLARE i INT DEFAULT 10; DECLARE cursor_query CURSOR FOR SELECT * FROM users;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET DONE = 1; OPEN cursor_query; myLoop : LOOP
FETCH cursor_query INTO TEMP_NAME, TEMP_PWD;
IF DONE = 1 THEN
LEAVE myLoop;
END IF; INSERT INTO test VALUES(1, TEMP_NAME); END LOOP myLoop; CLOSE cursor_query;
END
通过调用使用游标的存储过程后,查询test表
CALL DATA_QUERY_CURSOR;
SELECT * FROM test;
test表中的记录为

MySQL存储过程、函数和游标的更多相关文章
- MySQL中函数、游标、事件、视图
MySQL中函数.游标.事件.视图基本应用举例(代码) MySQL中function用户自定义函数c,fun,fun是面向过程的实现方式只能传入参数,或不传入参数,不能传出参数,必有返回值函数中是不能 ...
- MySQL 存储过程 函数 routine 权限
MySQL 存储过程 函数 routine 权限 Table of Contents 1. mysql存储过程/函数权限 1.1. 相关对象操作权限检查 1.2. 执行权限 1 mysql存储过程/函 ...
- mysql 存储过程中使用游标中使用临时表可以替代数组效果
mysql不支持数组.但有时候需要组合几张表的数据,在存储过程中,经过比较复杂的运算获取结果直接输出给调用方,比如符合条件的几张表的某些字段的组合计算,mysql临时表可以解决这个问题.临时表:只有在 ...
- mysql 存储过程 函数 触发器
mysql存储过程与函数 存储过程下载 demo mysql> delimiter // -- 这里//为修改默认分隔符: mysql> CREATE PROCEDURE simplep ...
- MySQL中函数、游标、事件、视图基本应用举例(代码)
MySQL中function用户自定义函数c,fun,fun是面向过程的实现方式只能传入参数,或不传入参数,不能传出参数,必有返回值函数中是不能有create table drop table之类的语 ...
- mysql存储过程中使用游标
用户变量一般以@开头,作用于全局范围 局部变量需用 declare 定义格式为 declare 变量名 数据类型 [default value]; mysql 数据类型有 int ,float,dat ...
- MySql存储过程—7、游标(Cursor)
|字号 订阅 1.游标的作用及属性 游标的作用就是用于对查询数据库所返回的记录进行遍历,以便进行相应的操作:游标有下面这些属性: a.游标是只读的,也就是不能更新它: b.游标是不能滚动的,也就是只能 ...
- Paip.断点调试MYSQL存储过程跟函数的解决方案大法
Paip.断点调试MYSQL存储过程跟函数的解决方案大法 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn ...
- mysql使用存储过程&函数实现批量插入
写这边文章的目的,是想结合mysql 存储过程+函数完成一个批量删除的功能吧...正好也好加深下对procedure和function的熟练操作吧...废话不多说,我就直接上表结构啦哈,如下: cre ...
- MySQL存储过程入门教程
存储过程介绍 存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中.用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它.存储过程可由应用程序通过一个调用来执行,而且 ...
随机推荐
- selenium修改控件属性
起因:在进行退出的时候,控件属性显示为不可显示,于是在界面上是不可以点击的,如果想点击这个按钮,只能通过修改控件属性,进行点击 上图看控件,正常来说,点击坐边的用户名,下拉会出现一个logout,退出 ...
- CSS3中渐变gradient详解
这几天看了一本HTML5的书,里面对于页面的背景使用了大量的渐变效果,因此在这里写一些关于渐变Gradient的东西. CSS3中的Gradient有两种,分别是线性渐变(linear-gradien ...
- IIS7.0配置HTTPS安全类型的网站
HTTPS,它是一个安全通信通道,是基于HTTP开发,用于在客户计算机和服务器之间交换信息.它使用安全套接字 层(SSL)进行信息交换,简单来说它是HTTP的安全版.主要在一些对安全性要求比较高的网站 ...
- Struts2_使用 Filter 作为控制器的 MVC 应用
- MSI安装程序在Win8/Win10及以上系统中DLL安装问题
报的错误是: There is a problem with this Windows Installer package. A DLL required for this install to co ...
- 【学习笔记】【C语言】变量类型
根据变量的作用域,可以分为: 1.局部变量: 1> 定义:在函数(代码块)内部定义的变量(包括函数的形参) 2> 作用域:从定义变量的那一行开始,一直到代码块结束 3> 生命周期:从 ...
- php连接到数据库
html代码: <form action="php_mysql_add.php" method="post"> 用户名: <input typ ...
- WCF之并发,吞吐量和限流
并发 Single重入模式.对于每一个服务实例,同一时刻只能处理一个请求,其他对该实例的请求被排队. PerCall,每一线程会分配一个新的服务实例上.不会有并发性问题.不影响吞吐量. PerSess ...
- PHP使用empty检查函数返回结果时报Fatal error: Can't use function return value in write context的问题
PHP开发时,当你使用empty检查一个函数返回的结果时会报错:Fatal error: Can't use function return value in write context 例如: &l ...
- 特殊的attribute机制
__attribute__机制是GNU C的一大特色,可以用来设置函数,变量和数据类型的属性,下面对工作中正好用到的两个属性做下简单介绍. 1. constructor 这个属性指定函数在main函数 ...