mysql 自定义函数如何返回多个值

createfunctiongoodc(productIdvarchar(10),)/*返回生产量,销售量,销售总金额*/returnsint,int,doublebeg... create function goodc(
productId varchar(10),
)
/*返回 生产量,销售量,销售总金额*/
returns int,int,double

begin

declare production int;/*生产量*/
declare sellnum int;/*销售量*/
declare sumprice double;/*总额*/
set production = 0;
set sellnum = 0;
set sumprice =0.0;

/*生产量*/
select sum(productstockinfo.num) into @production from productstockinfo where pro_id=productId;
/*销售量,销售金额*/
select sum(productoutinfo.num) into @sellnum from productoutinfo where prod_id=productId;

return @production,@sellnum,@sumprice;

end;

这个函数有何语法错误
返回数组是不行的,返回值的类型都不是一样的,要么就返回一个临时表,但是我查出来的只有一列数据,也就是只有三个值,我不想要返回一个临时表,艾,不知怎么才能返回int,int,double三个值
展开
 我来答
沐阳2019
高粉答主

2019-07-01 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:483
采纳率:0%
帮助的人:8.5万
展开全部

1、首先打开navicat for mysql工具,打开一个数据库,然后右键单击表,选择新建表

2、接下来在弹出的新建表界面中,我们通过添加栏位来增加表的字段

3、字段都添加完毕以后,我们按Ctrl+S组合键,这个时候会让你输入表名,我们输入完毕点击确定即可

4、最后我们回到软件的主界面,你就会看到刚才添加的表已经显示在主界面了,这代表我们已经添加表成功

百度网友faadf46
高粉答主

2019-08-13 · 说的都是干货,快来关注
知道答主
回答量:4556
采纳率:0%
帮助的人:75.3万
展开全部

1、点击左下角开始菜单按钮。

2、在开始菜单下方搜索框中搜索cmd。

3、敲下回车键,打开cmd窗口。

4、输入mysql -u root -p命令,然后回车。

5、提示输入密码,输入正确的密码,进入mysql命令行。

6、函数格式为BIN(N),参数为数字型。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
suspended3
推荐于2017-11-23
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
用存储过程算了,函数不能返回一个值,如果要返回多值的话,那就返回一个table,用存储过程同样能达到效果
CREATE PROCEDURE `goodcheck`(
in xxx int
in xxx
...
out xxx ..
out xxx char
)
begin

select sum(productstockinfo.num) into production from productstockinfo where pro_id=productId;

end;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
coyeah
2010-10-10 · TA获得超过975个赞
知道小有建树答主
回答量:802
采纳率:0%
帮助的人:1133万
展开全部
如果返回多个值不行 你就返回一个 rowid
行值就行了啊
根据这个值 然后 在操作数据库 取得你需要的3个值就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sea5991
2010-10-10 · TA获得超过344个赞
知道小有建树答主
回答量:280
采纳率:100%
帮助的人:157万
展开全部
返回一个数组可以不。。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式