功能不是公认的内置功能名称

发布于 2025-01-27 05:16:39 字数 1332 浏览 3 评论 0原文

我有一个层次的关系数据库,该数据库具有不同生物的分类法。 我总共有7个桌子,每个桌子都有一个fk指向“在上方”的表格。 我需要创建一个函数,以收回有机体的“通用名称”,并返回其所属的Kindgom。以下是我在MySQL上的代码。

CREATE FUNCTION get_Kingdom(@Temp AS VARCHAR(1000)) RETURNS VARCHAR(1000) 
    AS
    BEGIN
    DECLARE @ReturnKingdom AS VARCHAR(1000)

    SET @ReturnKingdom = (SELECT kingdom.description as descriptionKingdom
                        FROM Kingdom
                        JOIN Phylum
                        ON Kingdom.idKingdom = phylum.Kingdom_idKingdom
                        JOIN Class
                        ON Phylum.idPhylum = Class.Phylum_idPhylum
                        JOIN Order
                        ON Class.idClass = Order.Class_idClass
                        JOIN Family
                        ON Order.idOrder = Family.Order_idOrder
                        JOIN Genus
                        ON Family.idFamily = Genus.Family_idFamily
                        JOIN Species
                        ON Genus.idGenus = Species.Genus_idGenus

                        WHERE Species.CommonName = @Temp)

    RETURN @ReturnKingdom;
END;

但是,当我尝试调用该功能时

select get_Kingdom('Dog'); 

,我会遇到错误:

'fnc_get_reino' is not a recognized built-in function name.

为什么会发生这种情况?

I have a hierarchical relational database with taxonomies of different organisms.
I have a total of 7 tables where each has a FK pointing to the table "right above".
I need to create a function that recieves the "Common Name" of the organism and returns the Kindgom to whom it belongs. Below is my code on MySQL.

CREATE FUNCTION get_Kingdom(@Temp AS VARCHAR(1000)) RETURNS VARCHAR(1000) 
    AS
    BEGIN
    DECLARE @ReturnKingdom AS VARCHAR(1000)

    SET @ReturnKingdom = (SELECT kingdom.description as descriptionKingdom
                        FROM Kingdom
                        JOIN Phylum
                        ON Kingdom.idKingdom = phylum.Kingdom_idKingdom
                        JOIN Class
                        ON Phylum.idPhylum = Class.Phylum_idPhylum
                        JOIN Order
                        ON Class.idClass = Order.Class_idClass
                        JOIN Family
                        ON Order.idOrder = Family.Order_idOrder
                        JOIN Genus
                        ON Family.idFamily = Genus.Family_idFamily
                        JOIN Species
                        ON Genus.idGenus = Species.Genus_idGenus

                        WHERE Species.CommonName = @Temp)

    RETURN @ReturnKingdom;
END;

But when I try to call the function

select get_Kingdom('Dog'); 

I'm getting an error:

'fnc_get_reino' is not a recognized built-in function name.

Any ideas why this is happening?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文