查看 DB2 for IBM i 中的实际函数代码

See actual code of function in DB2 for IBM i

你好,我在 DB2 UDB for AS/400 版本 07.01.0000 V7R1m0

中创建了一个函数

我使用 windows 和 dbvisualizer 连接服务器。

我的职能是...

CREATE FUNCTION JVAOBJ.BNOWPAPOL(POL VARCHAR(10)) RETURNS DECIMAL(7,7) LANGUAGE SQL NOT
    DETERMINISTIC READS SQL DATA
    RETURN
    (
        SELECT
            CASE
                WHEN NUM IN (1,2)
                THEN 0.3
                ELSE 0.19698
            END AS VALOR
        FROM
            LMDDTA.VERT240                   
        WHERE
            POLLIFE = POL )

它 return 0.30.19698 取决于 POL 参数

为此我删除了 DROP FUNCTION JVAOBJ.BNOWPAPOL 和 运行 CREATE 直到工作正常。

我的问题是我在 dbvisualizer 中看不到函数的实际代码 我看不到创建的函数

如何查看实际代码?

注意: 服务器管理员可以访问控制台as400(是的,那个黑色的绿色字母或者橙色字母的屏幕,我不太了解) 也许,我可以从这里看到。

注2: 我使用 jt400 driver 连接。

试用 IBM i Navigator for web。如果你的机器上配置了它,你可以通过这个 URL: https://your.ibm.i:2005/ibm/console/login.do?action=secure

如果没有配置,那么也许你可以让管理员安装Windows客户端。它是 Windows 客户端访问的一部分,被称为 IBM i Navigator for Windows。

在任一情况下,使用导航树转至数据库 > 机器 > 模式 > JVAOBJ > 函数。右键单击您的函数 > 定义,然后选择 Routine Body

编辑 添加系统例程 查看例程主体的另一种方法是通过 DB2 目录 table SYSROUTINE。 select specific_schema, specific_name, routine_definition from sysroutine

我知道 IBM i Navigator 是一个很棒的工具,但您需要一定的知识才能掌握它。

最简单的方法是使用 dbvisualizer

查询 SQL 系统表
SELECT * FROM qsys2/sysfuncs 
WHERE (SPECIFIC_SCHEMA, SPECIFIC_NAME) = ('JVAOBJ', 'BNOWPAPOL')