PROCEDURE 저장 프로세스
1963 단어 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 ;
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
postgresqlstore 프로세스 초기 탐색 중 하나os: centos 7.4 db: postgresql 11.5 postgresql11 이전의 함수(function)와 저장 프로세스(procedure)는 같은 의미어로 문법은 다음과 같다. 예: select 호출 사...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.