그래서 MySQL 버전 5.5 저장 프로 시저를 만들려고 해요. 나는 무엇이 잘못되었지만 내가 성취하고자하는 것이 무엇인지 잘 모릅니다.MySQL 저장 프로 시저 선택 삽입
레코드 받기 7 일 이상 된 테이블 -A에서 가져 오기. 그리고 나서 Table-B에 삽입하십시오. 그러나 표 B에 있는지 확인해야합니다. 존재한다면 건너 뜁니다. 그렇지 않으면 삽입하십시오.
DROP PROCEDURE IF EXISTS `move_record`;
DELIMITER //
CREATE PROCEDURE `move_record`()
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE dt DATETIME;
DECLARE uid,value BIGINT(20);
DECLARE category VARCHAR(30);
DECLARE data,comments VARCHAR(255);
DECLARE cancel TINYINT(1) DEFAULT NULL;
DECLARE curs CURSOR FOR SELECT `datetime`,user_id,category,data,comments,cancel FROM `record` WHERE `datetime` < DATE_SUB(CURDATE(), INTERVAL 7 DAY);
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN curs;
myloop: LOOP
FETCH NEXT FROM curs INTO dt,uid,category,data,comments,cancel;
IF done THEN
LEAVE myloop;
END IF;
IF NOT EXISTS (SELECT * FROM `record_arc`
WHERE record_arc.`datetime` = dt
AND record.user_id = uid)
INSERT INTO `record_arc` (`datetime`,user_id,category,data,comments,cancel) VALUES (dt,uid,category,data,comments,cancel);
END IF;
END LOOP myloop;
CLOSE curs;
DEALLOCATE curs;
END//
DELIMITER ;
LEAVE read_loop ????? "LEAVE myloop"이어야합니다. – knkarthick24
당신이 받고있는 오류를 알려주십시오. – knkarthick24
# 1064 - SQL 구문에 오류가 있습니다. INSERT INTO'record_arc' ('datetime', user_id, category, data, comments, cancel) VALU '25 번 라인 근처에서 사용할 올바른 구문에 대해서는 MySQL 서버 버전에 해당하는 매뉴얼을 확인하십시오. – user3562733