DROP PROCEDURE IF EXISTS `Sum_Month_Cus_Count`;
CREATE PROCEDURE `Sum_Month_Cus_Count`()
BEGIN
declare v_cur_Date date;
declare v_pre1_Date date;
declare v_year,v_month,v_count int;
set v_cur_Date = CURDATE();
set v_pre1_Date = date_add(v_cur_Date, interval -1 day) ;
set v_year =year(v_pre1_Date);
set v_month = month(v_pre1_Date);
select count(syear) into v_count from rpl_month_cycle where syear =v_year and smonth=v_month;
if v_count=0 THEN
INSERT into rpl_month_cycle(syear,smonth) values(v_year,v_month);
end if;
delete from rpl_cus_month_sum where syear =v_year and smonth=v_month;
select v_year,v_month ,ta.groupId,IFNULL(tb.addNum,0),0
from cus_group as ta
left join
(
select egroupId,count(egroupId) as addNum from cus_costomer_up_history where year(changeDate) = v_year and month(changeDate)=v_month group by egroupId
) as tb
on ta.groupId = tb.egroupId
where ta.IsSum =1;
insert into rpl_cus_month_sum
select v_year,v_month ,ta.groupId,IFNULL(tb.addNum,0),0
from cus_group as ta
left join
(
select egroupId,count(egroupId) as addNum from cus_costomer_up_history where year(changeDate) = v_year and month(changeDate)=v_month group by egroupId
) as tb
on ta.groupId = tb.egroupId
where ta.IsSum =1;
update rpl_cus_month_sum as ta,
(
select groupId,count(groupId) as totalNum from cus_customer where State=1 group by groupId
) as tb
set ta.totalNum = tb.totalNum
where ta.groupId = tb.groupId
and ta.syear = v_year
and ta.smonth=v_month;
end
分享到:
相关推荐
能学到什么:可以学会如何使用MySQL创建无参存储过程、有参存储过程、IF-ELSE存储过程、WHILE循环存储过程、CASE-WHEN条件控制存储过程、REPEAT UNTIL循环存储过程、LOOP循环存储过程。 阅读建议:提前安装好MySQL的...
c++实现调mysql存储过程,实现存储过程的出参入参,可以支持查询多数据返回,还有存储过程的复杂数据的增删改等
在MySQL 入门教程中,我们能够看到很多关于如何创建储存过程 和如何利用 IN 和 OUT 参数调用存储过程的示例。这些示例都很简单,能够很好的帮助你理解 MySQL 中创建带参数存储过程的语法。这些示例已在 MySQL 5.5 中...
IN参数用于向存储过程传递输入值,而出参(OUT或INOUT)则用于存储过程内部计算的结果,可以在过程执行完毕后将这些值返回给调用者。 以下是一个名为`get_order_by_cust`的存储过程示例,它接受一个客户编号(IN...
本文将详细讲解如何使用JDBC调用MySQL5的存储过程,包括存储过程的创建、JDBC调用过程以及处理输入输出参数。 首先,我们创建一个简单的MySQL5数据库表`user`,用于演示存储过程的插入操作: ```sql CREATE TABLE ...
例如,Oracle的DBMS_SCHEDULER,SQL Server的SQL Server Agent,MySQL的Event Scheduler,它们允许用户设置定时任务,以定期执行存储过程。 回到描述中的"job调用的存储过程",这意味着存在一个或多个job,它们在...
存储过程 in参数 的使用 IN参数只用来向过程传递信息,为默认值。 -- 存储过程中 in 参数的 使用 DELIMITER ;; CREATE PROCEDURE name_in(IN `time` VARCHAR(50)) BEGIN SELECT NOW() ,`time`; END ;; CALL name_in...
- 示例中的"PROC_系部读者借阅信息"是一个无参存储过程,用于查询计算机系读者在2014-1-1之后借阅的图书信息。存储过程的定义如下: ```sql CREATE PROC PROC_系部读者借阅信息 AS BEGIN SELECT rname, bno, ...
本文实例讲述了mysql创建存储过程实现往数据表中新增字段的方法。分享给大家供大家参考,具体如下: 需求: 往某数据库的某个表中新增一个字段(若该字段已存在,则不做操作;若该字段不存在,则新增) 百度了n久,...
MySQL存储过程是数据库管理系统中一组为了完成特定功能的SQL语句集,它可以被多次调用,减少了代码重复,提高了程序的可重用性和执行效率。在MySQL中,存储过程的参数有三种类型:in、out、inout,它们分别对应不同...
在实验中,学生需要学会如何在 XSGL 数据库中创建存储过程,例如创建一个无参存储过程 StuScoreInfo,查询学生的学号、姓名、性别、课程名称、考试成绩等信息。 本实验旨在让学生掌握创建存储过程的基本方法,并...
MySQL 5.1中文参是一份详尽的数据库管理指南,专为那些使用MySQL 5.1版本的用户设计。MySQL是一种广泛应用于Web应用程序的开源关系型数据库管理系统(RDBMS),以其高效、稳定和易用性而备受赞誉。这份中文参考手册...
存储过程是一种存储在数据库库中的程序(就像正规语言里的子程序一样),准确的来说,MySql支持的“routine(例程)”有两种:一是我们说的存储过程,二是在其它sql语句中可以返回值的函数(使用起来和mysql预装载的...
11.5. 列类型存储需求 11.6. 选择正确的列类型 11.7. 使用来自其他数据库引擎的列类型 12. 函数和操作符 12.1. 操作符 12.1.1. 操作符优先级 12.1.2. 圆括号 12.1.3. 比较函数和操作符 12.1.4. 逻辑操作符 12.2. ...
1. **无参存储过程**: 在实例一中,我们创建了一个名为`myproce`的存储过程,它不接收任何参数。这个存储过程简单地插入了一条新的用户记录。创建存储过程的SQL语句使用了`CREATE PROCEDURE`关键字,定义了一个名...
例如,这里创建了三个不同的存储过程:p1(无参数)、p2(带入参)和 p3(带入参及返回值)。每个过程都包含插入操作和查询操作。 2. **调用存储过程**: - 在 MySQL 客户端,你可以直接使用 `CALL` 语句来执行...
mysql查缺补漏(补充知识点)(begin end可以省略、调用无参存储过程注意事项、定义条件和处理)
"Mybatis调用Oracle存储过程传List参数解决方法" Mybatis是当前最流行的持久层框架之一,它提供了强大的数据访问和操作功能。但是,如何将List类型参数传递给Oracle存储过程,实现批量插入数据却是一个棘手的问题,...
- **构造器**:通常有一个无参的构造器。 - **序列化**:可以实现 `Serializable` 接口以支持序列化。 - **事件监听**:可以通过实现特定接口来处理事件监听。 在本例中,我们使用了一个名为 `Mysql` 的 Java Bean ...
MySQL 是完全网络化的跨平台关系型数据库系统,同时是具有客户机/服务器体系结构的分布式数据库管理系统。它具有功能强、使用简便、管理方便、运行速度快、安全可靠性强等优点,用户可利用许多语言编写访问MySQL ...