文档章节

关于Mysql使用存储过程,并且使用游标的Demo

Kxvz
 Kxvz
发布于 2015/05/20 17:23
字数 214
阅读 28
收藏 0
DELIMITER $$
/* Mysql 创建存储过程 名为:new_pro */
CREATE DEFINER=`root`@`localhost` PROCEDURE `new_pro`()
BEGIN
    /* 声明变量 并设定默认值 */
    Declare not_found int  default 0;
    Declare collectionId bigint;
    Declare children_collectionId bigint;
    /* 创建游标 通过查询表 channelcollection创建出游标 */
    Declare idCursor cursor for select id from channelcollection where name='a' or name='c';
    /* 异常处理,当发生异常的时候设定 not_found的值为1 */
    Declare continue handler for not found set not_found=1;
    /* 设定collectionId的值为 查询出的ID */
    set collectionId = (SELECT id FROM channelcollection where name='b' limit 1);
    /* 使用游标之前先打开游标 */
    open idCursor;
    /* 循环游标并且把循环出来的游标赋值给 children_collectionId */
    idCursor_loop: LOOP fetch idCursor into children_collectionId;
        if not_found=1 then
            leave idCursor_loop;
        else
            /* 将数据循环插入另外一个表 */
            insert into channelcollectionfamily values (collectionId,children_collectionId);
        end if;
    end LOOP idCursor_loop;
    /* 使用完之后关闭游标 */
    close idCursor;
END


© 著作权归作者所有

共有 人打赏支持
Kxvz
粉丝 11
博文 94
码字总数 26580
作品 0
成都
程序员
一点实例明白mysql数据库存储过程

mysql存储过程: 封装sql: create procedure p1()beginselect * from t_news;end $ //mysql存储过程 简单实例 显示存储过程信息: G (横向表格采用纵向表格输出) delimiter $ 改变执行符号,直...

zyt_1978
2016/09/19
3
0
《MySQL必知必会》笔记2

2016/2/26-27 第二十一章创建和操纵表 创建表 CREATE TABLE语句 IF NOT EXISTS:查看表名是否存在,并且仅在表名不存在时创建它。 NULL列和NOT NULL列。(NULL为默认设置) PRIMARY KEY:定义...

fxdhdu
2016/03/01
35
0
存储过程从定义开始

使用存储过程的优点有: (1)存储过程在服务器端运行,执行速度快。 (2)存储过程执行一次后,其执行规划就驻留在高速缓冲存储器,在以后的操作中,只需从高速缓冲存储器中调用已编译好的二...

leon_tan
2015/11/30
297
0
MySQL数据库新特性之存储过程入门教程

MySQL数据库新特性之存储过程入门教程 在MySQL 5中,终于引入了存储过程这一新特性,这将大大增强MYSQL的数据库处理能力。在本文中将指导读者快速掌握MySQL 5的存储过程的基本知识,带领用户...

vga
2014/07/21
0
0
MySQL数据库高级(九)——游标

MySQL数据库高级(九)——游标 一、游标简介 1、游标简介 游标的设计是一种数据缓冲区的思想,用来存放SQL语句执行的结果。游标是一种能从包括多条数据记录的结果集中每次提取一条记录的机制...

642960662
04/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

java并发备忘

不安全的“先检查后执行”,代码形式如下: if(条件满足){ //这里容易出现线程安全问题//doSomething}else{//doOther} 读取-修改-写入 原子操作:使用CAS技术,即首先从V中读取...

Funcy1122
今天
0
0
SpringBoot2.0 停机

最近新建了个SpringBoot2.0的项目,因为原来一直使用的是传统的Tomcat部署war包的形式,所以这次SpringBoot内置Tomcat部署jar包的时候遇到了很多问题。其中一个就是因为没有外置的Tomcat容器...

Canaan_
昨天
0
1
Confluence 6 外部参考

一个外部参考的意思是任何站点链接到你 Confluence 的实例。任何时候当 Confluence 的用户单击这个外部链接的时候,Confluence 可以记录这次单击为参考。 在默认的情况下,外部链接的参考链接...

honeymose
昨天
0
0
Android中的设计模式之抽象工厂模式

参考 《设计模式解析》 第十一章 Abstract Factory模式 《设计模式:可复用面向对象软件的基础 》3.1 Abstract Factory 抽象工厂 对象创建型模式 《Android源码设计模式解析与实战》第6章 创...

newtrek
昨天
0
0
Redis | 地理空间(GEO)的一个坑

Redis的地理空间(Geo)是个好东西,轻轻松松的就可以把地图描点的问题处理了, 最近却遇到一个坑...Redis采用的Msater-Slave模式, 运用GEORADIUS在salve读取对应的数据,新增了从节点但是从不返...

云迹
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部