mysql存储过程,游标实例】的更多相关文章

本文介绍关于在MySQL存储过程游标使用实例,包括简单游标使用与游标循环跳出等方法 例1.一个简单存储过程游标实例 DROP PROCEDURE IF EXISTS getUserInfo $$CREATE PROCEDURE getUserInfo(in date_day datetime)-- -- 实例-- 存储过程名为:getUserInfo-- 参数为:date_day日期格式:2008-03-08--    BEGINdeclare _userName varchar(12); --…
MySQL存储过程  游标 如何在存储过程中使用MySQL游标来遍历SELECT语句返回的结果集 MySQL游标简介 要处理存储过程中的结果集,请使用游标.游标允许您迭代查询返回的一组行,并相应地处理每行. MySQL游标为只读,不可滚动和敏感. 只读:无法通过光标更新基础表中的数据. 不可滚动:只能按照SELECT语句确定的顺序获取行.不能以相反的顺序获取行. 此外,不能跳过行或跳转到结果集中的特定行. 敏感:有两种游标:敏感游标和不敏感游标.敏感游标指向实际数据,不敏感游标使用数据的临时副本…
自己写的一个mysql存储过程如下: BEGIN DECLARE _did bigint(20);DECLARE _count int;DECLARE s1 int;DECLARE cur_1 CURSOR FOR select id from info; /** 声明游标,并将查询结果存到游标中 **/ /** 获取查询数量 **/ SELECT count(id) into _count from info;SET s1=1;START TRANSACTION;#开启事务open cur_1…
将会用到的几个表 mysql> DESC products; +------------+--------------+------+-----+---------+----------------+ | Field      | Type         | Null | Key | Default | Extra          | +------------+--------------+------+-----+---------+----------------+ | prod_id…
<?php $dbtype = 'mysql'; $host = 'localhost'; $dbname = 'test'; $dsn = "$dbtype:host=$host;dbname=$dbname"; $user = 'root'; $password = 'root'; try{ $pdo = new PDO($dsn, $user, $password); } catch(PDOException $e) { echo $e->getMessage();…
存储过程加事件调度器 -- 存储过程 (多个)游标的使用 临时表的使用(让执行时间从一个小时降低到5分钟)DELIMITER $$ DROP PROCEDURE IF EXISTS `eval_calc_badge_achivement`$$ CREATE DEFINER=`dbmaster`@`%` PROCEDURE `eval_calc_badge_achivement`() proc_label:BEGIN ); -- 当前学期ID ); DECLARE v_studentName TE…
基本表temp 包括 name, type, sendCity, getCity 分别对应物流送货司机名, 倒车的第几段, 发货城市, 收货城市 表结构 -- ---------------------------- -- Table structure for `temp` -- ---------------------------- DROP TABLE IF EXISTS `temp`; CREATE TABLE `temp` ( `id` ) NOT NULL AUTO_INCREME…
一.什么是存储过程 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它.存储过程是数据库中的一个重要对象. 二,简单存储过程实例1      1) 建表tb_user CREATE TABLE `tb_user` ( `id` ) NOT NULL AUTO_INCREMENT, `username` ) DEFAUL…
转自:http://www.cnblogs.com/zhuawang/p/4185302.html ********************* 创建表 *****************************/ delimiter // DROP TABLE if exists test // CREATE TABLE test( id ) NULL ) // /********************** 最简单的一个存储过程 **********************/ drop pro…
一.创建游标 游标用declare语句创建.如下面的例子所示: create procedure test2() begin declare cursorTest cursor for select * from allIntersection; end; 二.打开.关闭游标 打开游标 open cursorTest; 关闭游标 close cursorTest; close 释放游标使用的所有内部内存和资源,因此在每个游标不再需要时都应该关闭.在一个游标关闭后,如果没有重新打开,则不能使用它.…
delimiter $ create PROCEDURE phoneDeal() BEGIN DECLARE id varchar(64); -- id DECLARE phone1 varchar(16); -- phone DECLARE password1 varchar(32); -- 密码 DECLARE name1 varchar(64); -- id -- 遍历数据结束标志 DECLARE done INT DEFAULT FALSE; -- 游标 DECLARE cur_acco…
BEGIN ; DECLARE f_ratio FLOAT DEFAULT 0.8; ); ); DECLARE i_statDate DATE; DECLARE i_accumulateCount INT; DECLARE i_activateCount INT; DECLARE i_dau30Count INT; DECLARE i_dau7Count INT; DECLARE i_dauCount INT; DECLARE i_dauImeiCount INT; DECLARE i_dau…
1.游标的作用及属性 游标的作用就是用于对查询数据库所返回的记录进行遍历,以便进行相应的操作:游标有下面这些属性: a.游标是只读的,也就是不能更新它: b.游标是不能滚动的,也就是只能在一个方向上进行遍历,不能在记录之间随意进退,不能跳过某些记录: c.避免在已经打开游标的表上更新数据. 2.如何使用游标 使用游标需要遵循下面步骤: a.首先用DECLARE语句声明一个游标 DECLARE cursor_name CURSORFOR SELECT_statement; DECLARE curs…
BEGIN DECLARE idCount int DEFAULT 0;-- 定义查询的id count DECLARE nameCount int DEFAULT 0;-- 统计相同名字合计 DECLARE openerId int DEFAULT 0; DECLARE openerName VARCHAR(255); -- 遍历数据结束标志 DECLARE done INT DEFAULT FALSE; -- 定义游标 DECLARE cur CURSOR FOR select count(…
BEGIN DECLARE id long; DECLARE Done INT DEFAULT 0; DECLARE cashamount DECIMAL(10,2) DEFAULT 0.00; DECLARE scorecamount INT DEFAULT 0; DECLARE userids CURSOR FOR SELECT userid from info_user where isreal = 1; DECLARE CONTINUE HANDLER FOR SQLSTATE '020…
BEGINDECLARE id long;DECLARE Done INT DEFAULT 0;DECLARE userids CURSOR FOR SELECT userid from info_user where isreal = 1;DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET Done = 1; OPEN userids; REPEATFETCH userids into id; DELETE FROM count_prize WH…
DROP PROCEDURE IF exists pro_Insertflightplan_stat;  create procedure pro_Insertflightplan_stat(execdate varchar(10))begin declare c varchar(10);    declare s varchar(10);    declare b int default 0;    /*是否达到记录的末尾控制变量*/    DECLARE cur_1 CURSOR FOR S…
咱们先建个表吧 [SQL] 纯文本查看 复制代码 ? 1 2 3 4 5 6     CREATE TABLE `test1` (   `id` int(10) unsigned NOT NULL AUTO_INCREMENT,   `test1` varchar(255) NOT NULL DEFAULT '',   `test2` varchar(255) NOT NULL DEFAULT '',   PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCRE…
if exists(select * from sysobjects where id = object_id(N'dbo.test_cursor') and type = 'P') drop PROCEDURE dbo.test_cursor GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE test_cursor AS Declare @acctNbr varchar(); Declare @acctNa…
-- -------------------------------------------------------------------------------- -- Routine DDL -- Note: comments before and after the routine body will not be stored by the server -- ---------------------------------------------------------------…
将下面的语句复制粘贴可以一次性执行完,我已经测试过,没有问题! MySql存储过程简单实例:                                                                                                       /********************* 创建表 *****************************/                                            …
MySql 存储过程实例 将下面的语句复制粘贴可以一次性执行完,我已经测试过,没有问题! MySql存储过程简单实例:                                                                             /********************* 创建表 *****************************/                         delimiter //                    …
MySql 存储过程实例(附完整注释) 将下面的语句复制粘贴可以一次性执行完,我已经测试过,没有问题! MySql存储过程简单实例:                                                                                                       /********************* 创建表 *****************************/                        …
BEGIN DECLARE v_request_count INT; #申请次数 DECLARE v_plan_count INT; #安排次数 DECLARE v_learn_count INT; #学习次数 DECLARE v_learned_count INT; #已经学习次数 DECLARE v_pass_count INT; #通过次数 DECLARE v_cid INT; DECLARE v_course_id INT; ; /* 终止标记 */ DECLARE cur CURSOR…
https://www.cnblogs.com/qmfsun/p/4838032.htmlMySQL命令执行sql文件的两种方法 https://www.cnblogs.com/mark-chan/p/5384139.html CREATE PROCEDURE GreetWorld() SELECT CONCAT(@greeting,' World');SET @greeting='Hello';CALL GreetWorld(); https://blog.csdn.net/shaochens…
PHP调用MYSQL存储过程实例 标签: mysql存储phpsqlquerycmd 2010-09-26 11:10 11552人阅读 评论(3) 收藏 举报 实例一:无参的存储过程$conn = mysql_connect('localhost','root','root') or die ("数据连接错误!!!");mysql_select_db('test',$conn);$sql = "create procedure myproce()beginINSERT IN…
PHP调用MYSQL存储过程实例 http://blog.csdn.net/ewing333/article/details/5906887 http://www.cnblogs.com/kkcheng/archive/2010/03/19/1689672.html http://hi.baidu.com/dreamontheway/item/8041f26ad5070131ad3e8346 实例一:无参的存储过程 $conn = mysql_connect('localhost','root'…
一.存储过程概念 1.存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集.经编译后存储在数据库 中. 2.存储过程是数据库中的一个重要对象,用户通过指定存储过程的名字并给出参数(如果该存储过 程带有参数)来执行它. 3.存储过程是由流控制和SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中. 4.存储过程可由应用程序通过一个调用来执行,而且允许用户声明变量. 5.同时,存储过程可以接收和输出参数.返回执行存储过程的状态值,也可以嵌套调用.二.存储过程优…
一.MySQL游标的概念 游标介绍: MySQL的游标(cursor)是一个重要的概念,通过查找资料与自己的理解,主要得出以下几点关于自己的理解. 有数据缓冲的思想:游标的设计是一种数据缓冲区的思想,用来存放SQL语句执行的结果. 先有数据基础:游标是在先从数据表中检索出数据之后才能继续灵活操作的技术.   类似于指针:游标类似于指向数据结构堆栈中的指针,用来pop出所指向的数据,并且只能每次取一个. 游标优缺点: 游标的优点: 因为游标是针对行操作的,所以对从数据库中select查询得到的每一…
Mysql 视图 触发器 存储过程 游标 游标是从数据表中提取出来的数据,以临时表的形式存放在内存中,在游标中有一个数据指针,在初始状态下指向的是首记录,利用fetch语句可以移动该指针,从而对游标中的数据进行各种操作,然后将操作结果写回数据表中.由 SELECT 语句返回的行集包括所有满足该语句 WHERE 子句中条件的行.由语句所返回的这一完整的行集被称为结果集.应用程序,特别是交互式联机应用程序,并不总能将整个结果集作为一个单元来有效地处理.这些应用程序需要一种机制以便每次处理一行或一部分…