`
sundful
  • 浏览: 1258366 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PROCEDURE 存储过程

 
阅读更多
DELIMITER $$

USE `paymgr` $$

DROP PROCEDURE IF EXISTS `proc_everday` $$

CREATE DEFINER = `root` @`%` PROCEDURE `proc_everday` () 
BEGIN
  DECLARE suffix CHAR(6) DEFAULT DATE_FORMAT(
    DATE_SUB(NOW(), INTERVAL 1 DAY),
    '%Y%m'
  ) ;
  DECLARE statdate DATE ;
  DECLARE tbl_name VARCHAR (50) ;
  DELETE 
  FROM
    `ccg_charge_day` 
  WHERE TO_DAYS(NOW()) - TO_DAYS(`stat_date`) = 1 ;
  SET tbl_name = CONCAT('ccg_charge_', suffix) ;
  SET statdate = DATE_FORMAT(
    DATE_SUB(NOW(), INTERVAL 1 DAY),
    '%Y-%m-%d'
  ) ;
  SET @stmt := CONCAT(
    "insert into `ccg_charge_day` (`total_count`, `success_count`, `fail_count`, `total_money`, `success_money`, `fail_money`, `stat_date`) SELECT c.total_count,cc.success_count,ccc.fail_count,c.total_money ,cc.success_money,ccc.fail_money,c.stat_date FROM (SELECT DATE_FORMAT(`updatetime`, '%Y-%m-%d') AS 'stat_date', COUNT(`id`) AS 'total_count',SUM(`amount`) AS 'total_money' FROM ",
    tbl_name,
    " WHERE DATE_FORMAT(`updatetime`, '%Y-%m-%d')='",
    statdate,
    "') c,(SELECT COUNT(`id`) AS 'success_count',SUM(`amount`) AS 'success_money' FROM ",
    tbl_name,
    " WHERE `status`=0 AND DATE_FORMAT(`updatetime`, '%Y-%m-%d')='",
    statdate,
    "') cc,(SELECT COUNT(`id`) AS 'fail_count',SUM(`amount`) AS 'fail_money' FROM ",
    tbl_name,
    " WHERE `status`<>0 AND DATE_FORMAT(`updatetime`, '%Y-%m-%d')='",
    statdate,
    "') ccc;"
  ) ;
  PREPARE stmt FROM @stmt ;
  EXECUTE stmt ;
  DEALLOCATE PREPARE stmt ;
END $$

DELIMITER ;

 

分享到:
评论

相关推荐

    Procedure存储过程.docx

    Oracle Procedure存储过程是数据库编程的重要组成部分,主要用于组织和执行一系列SQL语句,以实现复杂的业务逻辑。在Oracle数据库中,存储过程可以提高性能,减少网络流量,并提供更好的数据安全性。以下是对标题和...

    DB2 Stored Procedure 存储过程教程

    DB2存储过程是数据库管理中的一个重要概念,它是一组为了完成特定功能的SQL语句集,可以在数据库中预先编译并存储。这个教程是专为初学者设计的,旨在帮助快速掌握DB2存储过程的创建、调用以及相关概念。同时,由于...

    存储过程procedure存储过程procedure

    create or replace procedure qdy_pro2(p_cursor out qdy_package.qdy_cursor) is begin open p_cursor for select * from emp; end; --函数 create function qdy_fun1(name varchar2) return number is yearsal ...

    实用CREATE PROCEDURE 创建存储过程

    在SQL Server中,`CREATE PROCEDURE` 是一个用于创建存储过程的关键字,它允许开发者定义一组预先编译的SQL语句,以便在未来重复使用。存储过程是数据库中的一个重要概念,它们提高了代码的重用性,简化了复杂的操作...

    存储过程(Stored Procedure)

    ### 存储过程(Stored Procedure)详解 #### 一、存储过程的概念与作用 存储过程是一种预先编写并编译好的SQL语句集合,通常用于实现特定的数据库操作或逻辑处理。存储过程存储在数据库服务器中,用户可以通过指定...

    Oracle存储过程、函数和包

    - **权限需求**:创建存储过程需要`CREATE PROCEDURE`或`CREATE ANY PROCEDURE`权限。 - **基本语法**: ```sql CREATE [OR REPLACE] PROCEDURE 存储过程名 [(参数 [IN|OUT|INOUT] 数据类型)] {AS | IS} [说明...

    mysql存储过程之创建(CREATE PROCEDURE)和调用(CALL)及变量创建(DECLARE)和赋值(SET)操作方法

    创建存储过程的关键在于`CREATE PROCEDURE`语句。以下是一个创建名为`GetAllProducts`的存储过程的例子,它用于从`products`表中选取所有产品: ```sql DELIMITER // CREATE PROCEDURE GetAllProducts() BEGIN ...

    plsql创建存储过程并创建job定时任务执行-详细笔记文档总结

    创建存储过程需要使用 create procedure 语句,例如: ```sql create procedure test_procedure is begin execute immediate 'create table shi.test2 as select * from shi.test'; commit; end; ``` 这个存储过程...

    SQL语句创建存储过程

    CREATE PROCEDURE 存储过程名 @参数1 参数类型, @参数2 参数类型, ... AS BEGIN -- SQL语句块 END ``` 例如,创建一个名为`usp_InsertUser`的存储过程,用于插入用户数据: ```sql CREATE PROCEDURE usp_...

    Informatica调用存储过程图文流程

    存储过程(Stored Procedure)是一组为了完成特定功能的 SQL 语句集合,存储在数据库中,以便在需要时重复使用。存储过程可以根据需要执行不同的操作,例如插入、更新、删除数据等。使用存储过程可以提高数据库的...

    pb调用存储过程

    这里的`CREATE PROCEDURE proc_pslx AS`定义了一个名为`proc_pslx`的存储过程,其内容是插入一条数据到`demo`表中,`name`字段值为'55566'。`GO`关键字在SQL Server中用于分隔不同的批处理。 存储过程有多种优点,...

    oracle存储过程语法

    创建存储过程的基本语法为:`CREATE OR REPLACE PROCEDURE 过程名 (参数列表) AS 变量声明 BEGIN 过程体 END;` 其中,`CREATE OR REPLACE PROCEDURE` 是一个 SQL 语句,用于创建或替换一个存储过程。`过程名` 是...

    存储过程详细教程

    CREATE OR REPLACE PROCEDURE 存储过程名 AS 变量1 类型(值范围); 变量2 类型(值范围); BEGIN -- SQL 语句 EXCEPTION -- 异常处理 END; ``` - **CREATE OR REPLACE**:用于创建或替换已存在的存储过程。 - *...

    Oracle存储过程基本语法

    CREATE OR REPLACE PROCEDURE 存储过程名 IS BEGIN NULL; END; 其中,CREATE OR REPLACE PROCEDURE 是一个 SQL 语句,通知 Oracle 数据库创建一个名为 skeletal 的存储过程,如果存在就覆盖它。IS 关键词表明后面...

    oracle存储过程常用技巧

    1. 创建语句:create or replace procedure 存储过程名 2. 存储过程名定义:包括存储过程名和参数列表 3. 变量声明块:用于声明变量 4. 过程语句块:存储过程的具体逻辑 5. 异常处理块:用于处理语句产生的异常 6. ...

    oracle存储过程学习经典

    CREATE OR REPLACE PROCEDURE 存储过程名字 ( 参数1 IN 类型, 参数2 OUT 类型, 参数3 INOUT 类型 ) AS 变量声明区; BEGIN 执行语句区; EXCEPTION WHEN 异常类型 THEN 异常处理区; END; / ``` - **参数类型**...

    【MySQL】存储过程(十一).pdf

    CREATE PROCEDURE 存储过程名称 ([ 参数列表 ]) BEGIN -- SQL语句 END; ``` - **命令行创建**: 首先需要重新指定SQL语句的结束符,通常使用`delimiter`关键字来实现。 ```sql delimiter // CREATE ...

    ORACLE SQL 优化 存储过程 PROCEDURE

    ORACLE SQL 优化存储过程 PROCEDURE ORACLE SQL 优化存储过程 PROCEDURE 是一篇结合实际开发经验和理论知识的文章,旨在帮助开发者提高 SQL 开发效率和优化存储过程。文章涵盖了广泛的知识点,从基本的 SQL 语句到...

    Oracle存储过程语法学习

    CREATE OR REPLACE PROCEDURE 存储过程名 (参数1 IN 数据类型, 参数2 OUT 数据类型) IS 定义局部变量; BEGIN 执行逻辑; EXCEPTION 异常处理; END 存储过程名; ``` 总之,Oracle存储过程是一种强大的工具,通过它...

Global site tag (gtag.js) - Google Analytics