아래 코드는 create table 문없이 완벽하게 작동합니다. 오류를 찾기 위해이 간단한 코드를 한시간 보았습니다.create table 문을 사용한 MySQL 프로 시저 구문 오류
DELIMITER $$
USE `operations`$$
DROP PROCEDURE IF EXISTS `rc_pending_data_tat_proc`$$
CREATE PROCEDURE `rc_pending_data_tat_proc`()
BEGIN
(
CREATE TABLE rc_pending_tat_temp /*works fine when I remove this*/
SELECT IF(b.retailer IS NULL,a.retailer, b.retailer) AS Retailer,
(CASE
WHEN DATEDIFF(criteria_date,transaction_date)<=50
THEN '<=50'
WHEN DATEDIFF(criteria_date,transaction_date) <=70
THEN '<=70'
WHEN DATEDIFF(criteria_date,transaction_date) <=80
THEN '<=80'
WHEN DATEDIFF(criteria_date,transaction_date) <=90
THEN '<=90'
ELSE
'>90'
END) AS Pending_since
, COUNT(*) AS `count`, CURRENT_TIMESTAMP AS `date`
FROM `rc_pending_data` a
LEFT JOIN `rc_store_retailer_mapping` b
ON a.retailer=b.store_name
GROUP BY 1,2
);
END$$
DELIMITER ;
이주는 오류가 꽤 표준 하나 즉
오류 코드 : 1064 당신은 당신의 SQL 구문에 오류가 있습니다 ; 근처 사용할 수있는 권리 구문에 대한 MySQL 서버 버전에 해당하는 설명서를 확인 라인에서 4
안녕하세요, Nitin, 도움에 감사드립니다. 히트로 오류를 좋아하고 방법을 시도해보십시오! –