Я создаю временную таблицу в хранимой процедуре для хранения результатов запроса CTE. Без временной таблицы запрос работает нормально. Код приведен ниже. У меня постоянно появляется ошибка в строке INSERT INTO — и я не могу понять почему. Мы будем очень признательны за любую информацию.
DROP TEMPORARY TABLE IF EXISTS SOL_Daily;
CREATE TEMPORARY TABLE SOL_Daily(
o_YEAR YEAR,
o_Month INT,
o_Day INT,
SolHours Decimal(4,1),
avgSolar Decimal(10,4)
);
WITH YMD_Data AS(
SELECT Month(ObsDate) as o_Month, Day(ObsDate) as o_Day, YEAR(ObsDate) as o_Year,
MAX(ObsTime) as mxTime,
MIN(ObsTime) as mnTime,
AVG(Solar) as avgSolar
FROM Daily
GROUP BY o_Year,o_Month,o_day
HAVING AVG(Solar) \> 100
ORDER BY o_Month, o_Day
)
INSERT INTO SOL_Daily(o_YEAR, o_Month, o_Day, SolHours, avgSolar)
SELECT o_Year, o_Month, o_Day,
ROUND(TIMESTAMPDIFF(SECOND, mnTime, mxTime) / 3600, 1) AS SolHours,
avgSolar
FROM YMD_Data;
Подробнее здесь: https://stackoverflow.com/questions/798 ... e-erroring