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 ;
相关推荐
Oracle Procedure存储过程是数据库编程的重要组成部分,主要用于组织和执行一系列SQL语句,以实现复杂的业务逻辑。在Oracle数据库中,存储过程可以提高性能,减少网络流量,并提供更好的数据安全性。以下是对标题和...
DB2存储过程是数据库管理中的一个重要概念,它是一组为了完成特定功能的SQL语句集,可以在数据库中预先编译并存储。这个教程是专为初学者设计的,旨在帮助快速掌握DB2存储过程的创建、调用以及相关概念。同时,由于...
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 ...
在SQL Server中,`CREATE PROCEDURE` 是一个用于创建存储过程的关键字,它允许开发者定义一组预先编译的SQL语句,以便在未来重复使用。存储过程是数据库中的一个重要概念,它们提高了代码的重用性,简化了复杂的操作...
### 存储过程(Stored Procedure)详解 #### 一、存储过程的概念与作用 存储过程是一种预先编写并编译好的SQL语句集合,通常用于实现特定的数据库操作或逻辑处理。存储过程存储在数据库服务器中,用户可以通过指定...
- **权限需求**:创建存储过程需要`CREATE PROCEDURE`或`CREATE ANY PROCEDURE`权限。 - **基本语法**: ```sql CREATE [OR REPLACE] PROCEDURE 存储过程名 [(参数 [IN|OUT|INOUT] 数据类型)] {AS | IS} [说明...
创建存储过程的关键在于`CREATE PROCEDURE`语句。以下是一个创建名为`GetAllProducts`的存储过程的例子,它用于从`products`表中选取所有产品: ```sql DELIMITER // CREATE PROCEDURE GetAllProducts() BEGIN ...
创建存储过程需要使用 create procedure 语句,例如: ```sql create procedure test_procedure is begin execute immediate 'create table shi.test2 as select * from shi.test'; commit; end; ``` 这个存储过程...
CREATE PROCEDURE 存储过程名 @参数1 参数类型, @参数2 参数类型, ... AS BEGIN -- SQL语句块 END ``` 例如,创建一个名为`usp_InsertUser`的存储过程,用于插入用户数据: ```sql CREATE PROCEDURE usp_...
存储过程(Stored Procedure)是一组为了完成特定功能的 SQL 语句集合,存储在数据库中,以便在需要时重复使用。存储过程可以根据需要执行不同的操作,例如插入、更新、删除数据等。使用存储过程可以提高数据库的...
这里的`CREATE PROCEDURE proc_pslx AS`定义了一个名为`proc_pslx`的存储过程,其内容是插入一条数据到`demo`表中,`name`字段值为'55566'。`GO`关键字在SQL Server中用于分隔不同的批处理。 存储过程有多种优点,...
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**:用于创建或替换已存在的存储过程。 - *...
CREATE OR REPLACE PROCEDURE 存储过程名 IS BEGIN NULL; END; 其中,CREATE OR REPLACE PROCEDURE 是一个 SQL 语句,通知 Oracle 数据库创建一个名为 skeletal 的存储过程,如果存在就覆盖它。IS 关键词表明后面...
1. 创建语句:create or replace procedure 存储过程名 2. 存储过程名定义:包括存储过程名和参数列表 3. 变量声明块:用于声明变量 4. 过程语句块:存储过程的具体逻辑 5. 异常处理块:用于处理语句产生的异常 6. ...
CREATE OR REPLACE PROCEDURE 存储过程名字 ( 参数1 IN 类型, 参数2 OUT 类型, 参数3 INOUT 类型 ) AS 变量声明区; BEGIN 执行语句区; EXCEPTION WHEN 异常类型 THEN 异常处理区; END; / ``` - **参数类型**...
ORACLE SQL 优化存储过程 PROCEDURE ORACLE SQL 优化存储过程 PROCEDURE 是一篇结合实际开发经验和理论知识的文章,旨在帮助开发者提高 SQL 开发效率和优化存储过程。文章涵盖了广泛的知识点,从基本的 SQL 语句到...
CREATE OR REPLACE PROCEDURE 存储过程名字 ( 参数1 IN NUMBER, 参数2 IN NUMBER ) IS 变量1 INTEGER :=0; 变量2 DATE; BEGIN END 存储过程名字 2.SELECT INTO STATEMENT 将select查询的结果存入到变量中,可以...