`
sundful
  • 浏览: 1253226 次
  • 性别: 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 存储过程名 IS BEGIN NULL; END; 存储过程的组成部分 * `CREATE OR REPLACE PROCEDURE`:创建或替换存储过程的语句。 * `IS`:关键词,表明后面将跟随一个PL/SQL体。 * `BEGIN`:...

    存储过程详细教程

    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; / ``` - **参数类型**...

    ORACLE SQL 优化 存储过程 PROCEDURE

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

    oracle存储过程

    CREATE OR REPLACE PROCEDURE 存储过程名字 ( 参数1 IN NUMBER, 参数2 IN NUMBER ) IS 变量1 INTEGER :=0; 变量2 DATE; BEGIN END 存储过程名字 2.SELECT INTO STATEMENT 将select查询的结果存入到变量中,可以...

Global site tag (gtag.js) - Google Analytics