MySQl 存储过程+游标
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 SELECT distinct t.companyICAO,ScheduleDate from flightplanlibarary_arch t where ScheduleDate = execdate;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET b = 1;
OPEN cur_1;
FETCH cur_1 INTO c, s; /*获取第一条记录*/
SET b = 2;
SELECT execdate;
while b<>1 do
SELECT @coumunber:=ttt.count as count,@checkat:=ttt.checkedstate as checkedstate /*变量赋值*/
FROM (
(SELECT COUNT(*) as count,checkedstate
from flightplan_today where EXECDATE= execdate and CHECKEDSTATE in ('0','1','2','3') and companyICAO like c GROUP BY checkedstate )
UNION
(SELECT COUNT(*) as count,'4' as checkedstate FROM flightplanlibarary_arch WHERE id NOT IN (SELECT n.id FROM flightplan_today m INNER JOIN flightplanlibarary n ON m.flightid=n.flightid AND m. depap =n.depap AND m.execdate=n.ScheduleDate AND m.execdate= execdate) and scheduledate= execdate and companyICAO like c )) ttt;
IF @checkat=0
THEN
insert into flightplan_stat (unifynum,nounifynum,submitnum,nosubmitnum,unconfirm,execdate,userICAO) VALUES(@coumunber,0,0,0,0,s,c);
ELSEIF @checkat = 1
THEN
insert into flightplan_stat (unifynum,nounifynum,submitnum,nosubmitnum,unconfirm,execdate,userICAO) VALUES(0,@coumunber,0,0,0,s,c);
ELSEIF @checkat = 2
THEN
insert into flightplan_stat (unifynum,nounifynum,submitnum,nosubmitnum,unconfirm,execdate,userICAO) VALUES(0,0,@coumunber,0,0,s,c);
ELSEIF @checkat = 4
THEN
insert into flightplan_stat (unifynum,nounifynum,submitnum,nosubmitnum,unconfirm,execdate,userICAO) VALUES(0,0,0,@coumunber,0,s,c);
ELSEIF @checkat= 3
THEN
insert into flightplan_stat (unifynum,nounifynum,submitnum,nosubmitnum,unconfirm,execdate,userICAO) VALUES(0,0,0,0,@coumunber,s,c);
ELSE
insert into flightplan_stat (unifynum,nounifynum,submitnum,nosubmitnum,unconfirm,execdate,userICAO) VALUES(0,0,0,0,0,s,c);
END IF;
FETCH cur_1 INTO c, s; /*取下一条记录*/
end while;
close cur_1;
end;
#call pro_Insertflightplan_stat('20150331');
MySQl 存储过程+游标的更多相关文章
- MySQL存储过程 游标
MySQL存储过程 游标 如何在存储过程中使用MySQL游标来遍历SELECT语句返回的结果集 MySQL游标简介 要处理存储过程中的结果集,请使用游标.游标允许您迭代查询返回的一组行,并相应地处理 ...
- mysql存储过程游标嵌套循环
自己写的一个mysql存储过程如下: BEGIN DECLARE _did bigint(20);DECLARE _count int;DECLARE s1 int;DECLARE cur_1 CUR ...
- MySQL 存储过程/游标/事务
将会用到的几个表 mysql> DESC products; +------------+--------------+------+-----+---------+-------------- ...
- php调用mysql存储过程游标
<?php $dbtype = 'mysql'; $host = 'localhost'; $dbname = 'test'; $dsn = "$dbtype:host=$host;d ...
- mysql存储过程游标加计划任务事件调度器
存储过程加事件调度器 -- 存储过程 (多个)游标的使用 临时表的使用(让执行时间从一个小时降低到5分钟)DELIMITER $$ DROP PROCEDURE IF EXISTS `eval_cal ...
- mysql 存储过程 游标嵌套
基本表temp 包括 name, type, sendCity, getCity 分别对应物流送货司机名, 倒车的第几段, 发货城市, 收货城市 表结构 -- -------------------- ...
- MySQL 存储过程游标
一.创建游标 游标用declare语句创建.如下面的例子所示: create procedure test2() begin declare cursorTest cursor for select ...
- mysql存储过程 --游标的使用 取每行记录 (多字段)
delimiter $ create PROCEDURE phoneDeal() BEGIN DECLARE id varchar(64); -- id DECLARE phone1 varchar( ...
- mysql 存储过程 -- 游标的使用(备忘)
BEGIN ; DECLARE f_ratio FLOAT DEFAULT 0.8; ); ); DECLARE i_statDate DATE; DECLARE i_accumulateCount ...
- mysql 存储过程 游标的使用 与定义
1.游标的作用及属性 游标的作用就是用于对查询数据库所返回的记录进行遍历,以便进行相应的操作:游标有下面这些属性: a.游标是只读的,也就是不能更新它: b.游标是不能滚动的,也就是只能在一个方向上进 ...
随机推荐
- which 查看可执行文件的位置
我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: which 查看可执行文件的位置. whereis 查看文件的位置. ...
- Streams Studio配置Build options
Defining build options You can change the build options of the internal builder for building an SPL ...
- javascript --推箱子
<head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" ...
- Mysql mysqlimport 导入数据
在mysql 数据库中可以用 mysqlimport 工具来实现数据的导入!mysqlimport 导入数据简单,但是这个也要满足一定的条件 1.既然是把数据导入到数据库,你总有一个数据库用户账号吧 ...
- IIS7内建账号,应用程序池
在IIS7以前的IIS版本中有一个本地帐号,是在安装时创建的,叫做 IUSR_MachineName.一旦启用匿名身份认证,这个IUSR_MachineName帐号就是IIS默认使用的身份(ident ...
- 仅返回类型不同的函数,在C++中如何实现重载?
C++支持函数重载,所谓重载就是在同一命名空间内,函数名相同,参数不同(参数个数或参数类型不同)的函数可以共存.但是若参数和函数名相同的话,编译器会报错不能重载.但是现实中,有时候仅仅需要返回类型不同 ...
- delphi ICS控件示例解读
{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Author: Fran鏾is PIETTE ...
- Android适配器Adapter学习
在开发中我们需要绑定一些数据展现到桌面上,这是就需要AdapterView.AdapterView是ViewGroup的子类,它决定了怎么展现视图通过Adapter来绑定特殊的数据类型. Adapte ...
- Android应用开发基础篇(14)-----自定义标题栏
一.概述 每一个应用程序默认的标题栏(注意与状态栏的区别)只有一行文字(新建工程时的名字),而且颜色.大小等都是固定的,给人的感觉比较单调.但当程序需要美化的时候,那么修改标题栏是就是其中一项内容,虽 ...
- javascript绑定事件
本质:不同的库或者工具中总是封装了不同的事件绑定形式,但是究其根源,还是IE事件模型和W3C事件模型不同的处理方式 1)W3C事件模型:支持事件捕捉和冒泡 addEventListener('type ...