Мне нужно создать хранимую процедуру, а затем немедленно вызвать ее, все в одном и том же файле .sql. Процедура достаточно проста и просто рассчитывает разницу между доходами и расходами.
Беда в том, что когда я вызываю процедуру , я получаю это сообщение об ошибке
процедура выглядит следующим образом:
DELIMITER $$
CREATE PROCEDURE crs.CurrentFinanceReport()
BEGIN
DECLARE income DECIMAL(6,2) default 0;
DECLARE outgoings DECIMAL(6,2) default 0;
SET income = (SELECT SUM(invoice.TotalPrice) FROM crs.invoice INNER JOIN crs.orders ON orders.CustomerEmail = invoice.CustomerEmail WHERE orders.OrderStatus != "Recieved");
SET outgoings =(SELECT SUM(OrderCost) FROM crs.stockOrder WHERE DateTimeRecieved = 0);
SELECT (income - outgoings);
END $$
DELIMITER ;
И я называю это так:
CALL crs.CurrentFinanceReport();
Если это вообще помогает, я обнаружил, что если процедура пуста (ничего между BEGIN и END), она может вызывать ее без ошибки, но как только я добавляю даже простой SELECT *, это вызывает ошибку.