0
여기 내 첫 번째 게시물이므로, 실수 나 누락 된 정보가 있으면 죄송합니다. 프로 시저에서 임시 테이블을 만들려고 시도하지만 어떻게 든 프로 시저를 구현하려고하면 오류가 계속 발생합니다 (# 1064 at DECLARE l_coin_base_id INT UNSIGNED
). 전체 임시 테이블 만들기 부분을 제거하고 작업 했으므로 실수가이 부분에 있다고 생각합니다.저장 프로 시저 mysql에 임시 테이블 만들기
DELIMITER //
CREATE PROCEDURE UPDATE_HISTORY()`
MODIFIES SQL DATA
BEGIN
DECLARE l_c_pair INT DEFAULT (SELECT COUNT(*) + 1 FROM pairList);
DECLARE i INT DEFAULT 1;
DECLARE l_now INT UNSIGNED DEFAULT UNIX_TIMESTAMP() - 300;`
CREATE TEMPORARY TABLE temp_history ENGINE = MEMORY AS(
SELECT
active_pairList.base,
active_pairList.peer,
(active_history.highest_ask + active_history.highest_bid)/2 AS price,
active_history.buy_volume,
active_history.sell_volume,
active_history.trade_volume
FROM
active_history
INNER JOIN
active_pairList
ON
active_history.sell_volume IS NOT NULL
AND active_history.buy_volume IS NOT NULL
AND active_history.trade_volume IS NOT NULL
AND active_history.timeStamp > l_now);
DECLARE l_coin_base_id INT UNSIGNED;
DECLARE l_coin_peer_id INT UNSIGNED;
DECLARE l_avg_price FLOAT UNSIGNED;
DECLARE l_sum_buy_volume FLOAT UNSIGNED;
DECLARE l_sum_sell_volume FLOAT UNSIGNED;
DECLARE l_sum_trade_volume FLOAT UNSIGNED;
-- doing smth. --
END //
DELIMITER ;
문에서 CREATE TEMPORARY TABLE 부분을 실행하려고하면 임시 테이블과 해당 테이블을 올바르게 만들 수 있습니다. 구글도 그 사실을 안다. (이것은 또한 처음으로 참여를 사용하여 내 실수일까요?).
나는 정말 도움이 될 것입니다.
오 하나님, 어리석은 ... 감사합니다. – djfhe