首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建MySQL存储过程

问创建MySQL存储过程
EN

Stack Overflow用户
提问于 2021-04-15 23:42:23
回答 1查看 28关注 0票数 0

我正在使用Aqua Data Studio20.6创建一个MySQL存储过程。以下是我的过程,我将其命名为sp_GetObjIDByProType

代码语言:javascript
复制
( IN prono char(15), IN imgtype char(8), OUT objid bigint )
BEGIN
    SELECT ObjectID INTO objid FROM images WHERE ProNumber = prono AND DocType = imgtype LIMIT 20;
END

当我尝试创建存储过程时,我收到以下错误消息:

代码语言:javascript
复制
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IN imgtype char(8) )
( OUT objid bigint )
BEGIN
    SELECT ObjectID INTO objid F' at line 3

但是,看起来好像创建任务实际上是成功的(sp_GetObjIDByProType appears under 'Procedures')。我可以在另一个窗口(resulting stored procedure in 'Alter' window)中查看和修改这个创建的存储过程。这是否意味着存储过程的创建实际上是成功的,或者我所做的事情有什么问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-16 00:47:59

看起来你的程序已经创建好了。但是,查询中的LIMIT 20没有意义。您将在OUT参数中返回选定的ObjectID,该参数只能包含一个值。然而,您将查询限制为20行。

如果希望返回最多20行,请将这些行作为结果集返回(省略out参数和INTO objid),或者将这些行限制为只有一行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67111631

复制
相关文章

相似问题

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