繁体   English   中英

如何在 mySQL 工作台中创建 function

[英]how to create a function in mySQL workbench

试图获取从给定类型(“mytype”)订购的盒子总数。 我的语法似乎有问题

create function NumOrdersForBoxType (mytype varchar(20))
returns int
begin
DECLARE @numorders int 
  select @numOrders = count(*)
    from BOXES as B
    where B.Type = mytype
    return @numOrders
end
;

在 mysql 中,您不声明用户定义的变量(在变量中)stackoverflow.com/questions/11754781/... 并且每个语句都需要终止,并且由于 function 中有超过 1 个语句,因此您需要在 begin..end 中换行并可能设置分隔符。 你需要设置变量

delimiter $$

create function f(mytype varchar(20))
returns int
begin
DECLARE numorders int; 
    set numorders = (select count(*)
    from boxes as B
    where B.Type = mytype
    );
    return numOrders;
end $$
delimiter ;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM