首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >返回表的MySQL存储过程

问返回表的MySQL存储过程
EN

Stack Overflow用户
提问于 2013-11-28 13:41:59
回答 1查看 8.5K关注 0票数 0

我正在尝试创建一个存储过程,以便从表中返回数据。我在用MySQL。这是代码:

代码语言:javascript
复制
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

但是,当试图保存该过程时,我会得到以下错误:

SQL错误(1064):您的SQL语法出现了错误;请检查与您的MySQL服务器版本相对应的手册,以便在第3行使用接近“LANGUAGE非确定性读取SQL数据安全定义器COMME”的正确语法。

有什么不对的?

EN

回答 1

Stack Overflow用户

发布于 2013-11-28 15:31:03

语法不正确。您创建了一个函数,但需要创建一个返回结果集的过程。试试这个密码-

代码语言:javascript
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20267732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档