`

初识存储过程

阅读更多

示例存储过程如下

DELIMITER //
DROP PROCEDURE IF EXISTS  `curdemo` //
CREATE PROCEDURE curdemo()
BEGIN
  DECLARE done INT DEFAULT 0;
  DECLARE a CHAR(16);
  DECLARE b,c INT;
  DECLARE cur1 CURSOR FOR SELECT id,data FROM test.t1;
  DECLARE cur2 CURSOR FOR SELECT i FROM test.t2;
  DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
 
  OPEN cur1;
  OPEN cur2;
 
  REPEAT
    FETCH cur1 INTO a, b;
    FETCH cur2 INTO c;
    IF NOT done THEN
       IF b < c THEN
          INSERT INTO test.t3 VALUES (a,b);
       ELSE
          INSERT INTO test.t3 VALUES (a,c);
       END IF;
    END IF;
  UNTIL done END REPEAT;
 
  CLOSE cur1;
  CLOSE cur2;
END //
DELIMITER ;
 

 

20.2.11.1.声明光标

DECLARE cursor_name CURSOR FOR select_statement

这个语句声明一个光标。也可以在子程序中定义多个光标,但是一个块中的每一个光标必须有唯一的名字。

SELECT语句不能有INTO子句。

 

20.2.11.2. 光标OPEN语句

OPEN cursor_name

这个语句打开先前声明的光标。

 

20.2.11.3. 光标FETCH语句

FETCH cursor_name INTO var_name [, var_name] ...

这个语句用指定的打开光标读取下一行(如果有下一行的话),并且前进光标指针。

光标必须在声明处理程序之前被声明,并且变量和条件必须在声明光标或处理程序之前被声明。

 

20.2.11.4. 光标CLOSE语句

CLOSE cursor_name

这个语句关闭先前打开的光标。

如果未被明确地关闭,光标在它被声明的复合语句的末尾被关闭。

20.2.11.5. 自动结束光标

DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;

当光标取不到数据就 SET done = 1;

20.2.11.6. delimiter命令

DELIMITER //

delimiter命令来把语句定界符从 ;变为//。这就允许用在程序体中的;定界符被传递到服务器而不是被mysql自己来解释。

20.2.11.7. DROP PROCEDURE IF EXISTS 

DROP PROCEDURE IF EXISTS 

这个语句被用来移除一个存储程序或函数。即,从服务器移除一个制定的子程序。

 

 

参考:http://dl.iteye.com/topics/download/82db8bb1-7c55-3e74-9f56-de5f8e004ded

 

 

分享到:
评论

相关推荐

    初识PostgreSQL存储过程

    什么是存储过程, 百度百科是这么定义的:存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的...

    初识计算机教学设计.doc

    《初识计算机》教学设计 【教学设计思路及学情分析】 本课的教学对象是高一新入学的学生,众所周知随着科技的发展和社会信息化程度的 提高,计算机作为功能强大的信息处理工具,已经成为人们学习、工作、生活中不可...

    初识HTML5(入门级的,很好的)

    全书共分为12章,从HTML5的历史故事讲起,涉及了文档结构和语义、智能表单、视频与音频、画布、SVG与MathML、地理定位、Web存储与离线Web应用程序、WebSockets套接字、Web Worker多线程、微数据以及以拖曳为代表的...

    17.社交网络Networkx库分析人物关系(初识篇)1

    1.安装过程 2.基础代码 3.Networkx详细介绍 1.调用Pandas库读取data.csv文件,并获取学生姓名,姓名存储在一个数组里 2.计算各个学生

    MyBatis一对一映射初识教程

    MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。在我们生活中一对一的例子很多见,下面通过本文给大家带来了mybatis一对一映射初识教程,感兴趣的朋友一起看下吧

    1、零基础学工控——初识plc

    它采用一种可编程的存储器,在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,通过数字式或模拟式的输入输出来控制各种类型的机械设备或生产过程。   可编程逻辑控制器(Programmable Lo

    MySQL从零开始学视频.zip

    目录网盘文件永久链接 代码 第1章初识MySQL 第2章MySQL的安装与配置 第3章数据库的基本操作 ...第10章存储过程和函数 第11章视图 第12章触发器 第13章用户管理 第14章数据备份与还原 第15章MySQL日志 第16章性能优化

    SQL2008总结

    初识数据库到代码建库建表,高级查询 子查询,事务,存储过程

    MySQL从零开始学视频教程.rar

    代码.rar 第1章初识MySQL.rar 第2章MySQL的安装与配置.rar ...第10章存储过程和函数.rar 第11章视图rar 第12章触发器.rar 第13章用户管理.rar 第14章数据备份与还原.rar 第15章MySQL日志.rar 第16章性能优化.rar

    Oracle 从入门到精通视频教程(11G版本)(ppt)

    第10章-存储过程,提高程序执行的效率 什么是存储过程 在SQL*Plus中创建存储过程 使用PL/SQL工具创建存储过程 修改删除存储过程 第11章-触发器,保证数据的正确性 什么是触发器 SQL*PLUS操作触发器 使用PL/SQL...

    sqlserver5天培训课程资料

    对五天的课程安排: 第一天: 初识SQL-SERVER2000;...数据完整性的设计及实现、存储过程与触发器、SQLSERVER的数据传输服务。 第五天: SQLSERVER与WEB的结合,开发模型及数据库的选择。ASP结合SQL-SERVER,ADO的概念

    MySQL基础培训教程.rar

    目录 网盘文件永久连接 代码.rar 第1章初识MySQL.rar ...第10章存储过程和函数.rar 第11章视图.rar 第12章触发器.rar 第13章用户管理.rar 第14章数据备份与还原.rar 第15章MySQL日志.rar 巴第16章性能优化.ram

    SQL Server 2008编程入门经典(第3版)

    1.1.7 存储过程 1.1.8 用户自定义函数 1.1.9 用户和角色 1.1.10 规则 1.1.11 默认值 1.1.12 用户自定义数据类型 1.1.13 全文目录 1.2 SQL Server数据类型 1.3 SQL Server对象标识符 1.3.1 需要命名的对象 1.3.2 命名...

    SQL Server 2012从零开始学培训视频和PPT.rar

    第1章初识SQL Server2012.ppt 网盘文件永久链接 第2章数据库的操作ppt ...第13章存储过程和自定义函数。ppt 第14章视图操作.ppt 第15章触发器ppt 第16章SQL Server2012的安全机制.ppt 第17章 数据库的备份与恢复,Ppt

    python–数据库 00 初识数据库和SQL

    数据(文件 图片 视频等)的存储以及管理怎样能够操作简单? 因此,我们发现:  第一,将文件和程序存在一台机器上很不合理的。  第二,操作文件是一件很麻烦的事 为什么用数据库 可以简单理解为 数据库 是一个...

    Access数据库课件(1)数据库系统知识入门.pdf

    数据管理技术的发展过程 数据管理指对数据的组织、存储、维护、 查询和传输。计算机数据管理技术发展经 历了三个阶段:手工管理阶段、文件系统 阶段、数据库系统阶段。 数据库技术与数据库系统 2 数据管理发展历程 ...

    SQL.Server.2008编程入门经典(第3版).part1.rar

    编写脚本和使用存储过程的技巧 索引的优缺点 锁和死锁对系统性能的各种影响 理解触发器及其使用方式 《SQL Server 2008编程入门经典(第3版)》读者对象 《SQL Server 2008编程入门经典(第3版)》适合于希望全面了解...

    SQL.Server.2008编程入门经典(第3版).part2.rar

    编写脚本和使用存储过程的技巧 索引的优缺点 锁和死锁对系统性能的各种影响 理解触发器及其使用方式 《SQL Server 2008编程入门经典(第3版)》读者对象 《SQL Server 2008编程入门经典(第3版)》适合于希望全面了解...

Global site tag (gtag.js) - Google Analytics