[英]What is the Syntax Error in this mySql script
我已经写了一个存储函数:
USE sakila;
DROP FUNCTION IF EXISTS sumOfFilm;
DELIMITER $$
CREATE FUNCTION sumOfFilm(
mStore_id TINYINT, mMonth VARCHAR(4), mYear VARCHAR(4))
BEGIN
DECLARE @sumOfFilm INT;
SELECT COUNT(*) INTO @sumOfFilm FROM rental
INNER JOIN inventory ON rental.inventory_id=inventory.inventory_id
INNER JOIN store ON store.store_id=inventory.store_id
WHERE mStore_id=store.store_id AND
mMonth=month(rental_date) AND
mYear=year(rental_date)
GROUP BY store.store_id;
RETURN @sumOfFilm;
END$$
DELIMITER ;
当我执行它时,我收到一条错误消息:
错误1064(42000):您的SQL语法有错误; 查看与您的MySQL服务器版本相对应的手册以获取正确的语法,以在'BEGIN DECLARE @sumOfFilm INT附近使用; 在第3行中选择COUNT(*)INTO @sumOfFilm FROM Rental INN'
请帮我 :)
USE sakila;
DROP FUNCTION IF EXISTS sumOfFilm;
DELIMITER $$
CREATE FUNCTION sumOfFilm(
mStore_id TINYINT, mMonth VARCHAR(4), mYear VARCHAR(4))
BEGIN
SELECT @sumOfFilm := COUNT(*) FROM rental
INNER JOIN inventory ON rental.inventory_id=inventory.inventory_id
INNER JOIN store ON store.store_id=inventory.store_id
WHERE mStore_id=store.store_id AND
mMonth=month(rental_date) AND
mYear=year(rental_date)
GROUP BY store.store_id;
RETURN INT @sumOfFilm;
END$$
DELIMITER ;
也可以尝试
SET @sumOfFilm = (SELECT COUNT(*) FROM rental)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.