mysql cursor 游标

cursor

1.  declare

    eg: declare c1 cursor for ....(sql select salary from employees;) 

    declare <游标名> cursor for <select语句>;

2.  open

    eg: open c1;

    open <游标名>;

3.  operation
    eg: loop
            fetch c1 into a;
        end loop;

    fetch <游标名> into <变量1>,<变量2>...

    

4.  close

    eg: close c1;

    close <游标名>;

 

举例说明:

delimiter //
create procedure p_11()
begin
 declare c_total float(8,2);
 declare c_name varchar(20);
 declare c_salary float(8,2);
 declare c_comm float(3,2);
 declare c1 cursor for select name, salary, comm from employees;
 declare exit handler for not found
 begin  close c1; end;
 open c1;
 loop
   fetch c1 into c_name, c_salary, c_comm;
   select ( c_salary * ifnull(c_comm,0) + c_salary ) into c_total from dual;
   update salary set salary=c_total where name=c_name;
 end loop;
 close c1;
end
//
delimiter ;
时间: 2024-09-24 21:27:42

mysql cursor 游标的相关文章

mysql Cursor游标参考手册

mysql教程 Cursor游标定义 DECLARE cursor_name CURSOR FOR SELECT_statement; 游标操作 OPEN 打开游标 OPEN cursor_name; FETCH 获取游标当前指针的记录,并传给指定变量列表,注意变量数必须与MySQL游标返回的字段数一致,要获得多行数据,使用循环语句去执行FETCH FETCH cursor_name INTO variable list; CLOSE关闭游标 CLOSE cursor_name ; 注意:MyS

qurey-关于cursor游标的问题

问题描述 关于cursor游标的问题 我的自定义方法是这样的 ```public int queryTB1(String ssidName){ SQLiteDatabase db = getReadableDatabase(); Cursor c = db.query(TABLE1_NAME, new String[]{SSID_NAME}, SSID_NAME+"=?", new String[]{""+ssidName}, null,null,null); if

mysql存储过程 游标 循环使用介绍_Mysql

Mysql的存储过程是从版本5才开始支持的,所以目前一般使用的都可以用到存储过程.今天分享下自己对于Mysql存储过程的认识与了解. 一些简单的调用以及语法规则这里就不在赘述,网上有许多例子.这里主要说说大家常用的游标加循环的嵌套使用. 首先先介绍循环的分类: (1)WHILE ... END WHILE (2)LOOP ... END LOOP (3)REPEAT ... END REPEAT (4)GOTO 这里有三种标准的循环方式:WHILE循环,LOOP循环以及REPEAT循环.还有一种

Mysql的游标的定义使用及关闭深入分析_Mysql

Mysql从5.0开始支持存储过程和trigger,给我们喜欢用mysql的朋友们更喜欢mysql的理由了,语法上和PL/SQL有差别,不过搞过编程的人都知道,语法不是问题,关键是思想,大致了解语法后,就从变量定义,循环,判断,游标,异常处理这个几个方面详细学习了.关于游标的用法Mysql现在提供的还很特别,虽然使用起来没有PL/SQL那么顺手,不过使用上大致上还是一样, 定义游标 declare fetchSeqCursor cursor for select seqname, value f

MySQL使用游标批量处理进行表操作_Mysql

一.概述 本章节介绍使用游标来批量进行表操作,包括批量添加索引.批量添加字段等.如果对存储过程.变量定义.预处理还不是很熟悉先阅读我前面写过的关于这三个概念的文章,只有先了解了这三个概念才能更好的理解这篇文章. 理解MySQL变量和条件:http://www.jb51.net/article/81375.htm 理解Mysql prepare预处理语句:http://www.jb51.net/article/81378.htm 理解MySQL存储过程和函数:http://www.jb51.net

mysql的游标怎么使用

使用游标(cursor) 1.声明游标 DECLARE cursor_name CURSOR FOR select_statement 这个语句声明一个游标.也可以在子程序中定义多个游标,但是一个块中的每一个游标必须有唯一的名字.声明游标后也是单条操作的,但是不能用SELECT语句不能有INTO子句. 2. 游标OPEN语句 OPEN cursor_name 这个语句打开先前声明的游标. 3. 游标FETCH语句 FETCH cursor_name INTO var_name [, var_na

MySQL存储过程游标操作的跳出与继续

最近遇到这样的问题,在MySQL的存储过程中,游标操作时,需要执行一个conitnue的操作.众所周知,MySQL中的游标循环操作常用的有三种,LOOP,REPEAT,WHILE.三种循环,方式大同小异.以前从没用过,所以记下来,方便以后查阅. 1.REPEAT  代码如下 复制代码 REPEAT     Statements;   UNTIL expression END REPEAT demo DECLARE num INT; DECLARE my_string  VARCHAR(255);

mysql动态游标学习(mysql存储过程游标)_Mysql

复制代码 代码如下: -- 建立测试表和数据create table webuser (username varchar(10));insert into webuser values ('a1'),('a2'),('a3'),('b1'),('b2'),('b3');commit; -- 建立存储过程drop procedure if exists dynamic_cursor;delimiter //CREATE PROCEDURE dynamic_cursor (IN p_name var

在Lua程序中使用MySQL的教程

  这篇文章主要介绍了在Lua程序中使用MySQL的教程,是Lua入门学习中的基础知识,需要的朋友可以参考下 导入MySQL 我们可以用一个简单语句导入SQLite库,假设Lua中正确实现并已完成.在安装过程中,文件夹libsql包含数据库相关的文件. 代码如下: mysql = require "luasql.mysql" 可变的MySQL将提供通过参照主MySQL表访问该功能. 建立连接 我们可以设立一个启动MySQL的环境,然后创建环境的连接.如下所示. 代码如下: local