gpt4 book ai didi

mysql - 创建一个在 MYSQL 中起作用的函数

转载 作者:行者123 更新时间:2023-11-29 23:25:29 25 4
gpt4 key购买 nike

所以我试图在 mysql 中创建我的第一个简单函数,它计算 3 个表中的行数并返回 3 个计数的总和。我认为这很简单,但显然不是,因为我每次尝试创建它时都会收到错误。我不知道为什么,因为在我看来,我已经正确声明了所有内容,并在需要时使用了正确的语法。但我仍然不明白为什么我会收到此错误。有什么想法吗?

我的功能

mysql> create function Size()
-> returns int
-> deterministic
-> begin
-> declare size int;
-> set size = select count(r.name) + count(s.name) + count(j.name) as Total from ArmyRegiment r, ArmySpecRegiment s, ArmyJTF j, ArmySpecRegiment s, ArmyJTF j;
-> return size;
-> end//

错误:

ERROR 1064 (42000): 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 'select count(r.name) + count(s.name) + count(j.name) as Total from ArmyRegiment' at line 1

另外,当我在执行 delimiter 之前输入 end//时,我就会收到此错误; 。无论如何,提前致谢。

最佳答案

那个return int(100000)应该是returns int(100000)。请注意,它是 RETURNS。此外,我认为你可以直接说returns int

再次,我认为用你的 SET 语句;您可能正在尝试将 count() 结果相加

set size = select count(r.name) + count(s.name) + count(j.name) 
from ArmyRegiment r, ArmySpecRegiment s, ArmyJTF j;

(或)

declare size int;
set size = 0;
select count(name) into size from ArmyRegiment;
select size + count(name) into size from ArmySpecRegiment;
select size + count(name) into size from ArmyJTF;

(或)

select count(r.name) + count(s.name) + count(j.name) INTO size
from ArmyRegiment r, ArmySpecRegiment s, ArmyJTF j;

关于mysql - 创建一个在 MYSQL 中起作用的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27005447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com