返回表的MySQL存储过程
我试图创建一个存储过程来从表中返回数据。我正在使用MySQL。 代码如下:返回表的MySQL存储过程,mysql,sql,Mysql,Sql,我试图创建一个存储过程来从表中返回数据。我正在使用MySQL。 代码如下: CREATE DEFINER=`imswms`@`10.0.90.%` FUNCTION `sp_daily_numbers_by_man_and_prod`(`man` VARCHAR(100), `startDate` DATETIME, `endDate` DATETIME) RETURNS SET LANGUAGE SQL NOT DETERMINISTIC READS SQL DATA SQL SECURITY
CREATE DEFINER=`imswms`@`10.0.90.%` FUNCTION `sp_daily_numbers_by_man_and_prod`(`man` VARCHAR(100), `startDate` DATETIME, `endDate` DATETIME)
RETURNS SET
LANGUAGE SQL
NOT DETERMINISTIC
READS SQL DATA
SQL SECURITY DEFINER
COMMENT ''
BEGIN
select * from dailynumbersdetails
where dailynumbersdetails.PostDate >= startDate
and dailynumbersdetails.PostDate < endDate
and dailynumbersdetails.Manufacturer = man
group by dailynumbersdetails.PartNumber;
END
CREATE DEFINER=`imswms`@`10.0.90.%`函数`sp\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
返回集
语言SQL
不确定
读取SQL数据
SQL安全定义程序
注释“”
开始
从DailyNumber详细信息中选择*
其中dailynumbersdetails.PostDate>=startDate
和dailynumbersdetails.PostDate
但在尝试保存该过程时,出现以下错误:
SQL错误(1064):您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解第3行“语言SQL非确定性读取SQL数据SQL安全定义器命令”附近使用的正确语法
有什么问题吗?语法不正确。您创建了一个函数,但需要创建一个返回结果集的过程。试试这个代码-
CREATE DEFINER = 'imswms'@'10.0.90.%'
PROCEDURE `sp_daily_numbers_by_man_and_prod` (`man` VARCHAR(100), `startDate` DATETIME, `endDate` DATETIME)
SQL SECURITY DEFINER
COMMENT ''
BEGIN
SELECT * FROM dailynumbersdetails
WHERE dailynumbersdetails.PostDate >= startDate
AND dailynumbersdetails.PostDate < endDate
AND dailynumbersdetails.Manufacturer = man
GROUP BY dailynumbersdetails.PartNumber;
END
CREATE DEFINER='imswms'@'10.0.90.%
程序'sp_daily_numbers_由'u man_和'u prod'('man'VARCHAR(100),'startDate'DATETIME,'endDate'DATETIME)
SQL安全定义程序
注释“”
开始
从DailyNumber详细信息中选择*
其中dailynumbersdetails.PostDate>=startDate
和dailynumbersdetails.PostDate