添加特定的名称

由于 GBase 8s 支持例程重载,因此,不可能单独通过 SPL 例程的名称来唯一地标识它。然而,可通过特定的名称来唯一地标识例程。除了例程名称之外,特定的名称是您在 CREATE PROCEDURE 或 CREATE FUNCTION 语句中定义的唯一的标识符。使用 SPECIFIC 关键字来定义特定的名称,且该名称在数据库中是唯一的。在同一数据库中,不可有两个相同的特定的名称,即使它们有不同的所有者也不行。

特定的名称最长可达 128 字节。下图展示如何在创建 calculate() 函数的 CREATE FUNCTION 语句中定义特定的名称 calc1

图: 定义特定的名称。

CREATE FUNCTION calculate(a INT, b INT, c INT)
            RETURNING INT
            SPECIFIC calc1;
            . . .
            END FUNCTION;

由于所有者 bsmith 已给定了 SPL 函数特定的名称 calc1,因此任何其他用户都不可使用特定的名称 calc1 来定义例程——SPL 或外部的。现在,您可引用该例程为 bsmith.calculate,或在任何需要 SPECIFIC 关键字的语句中使用 SPECIFIC 关键字 calc1