1

你好,我在DB2 UDB for AS/400版本中创建了一个函数07.01.0000 V7R1m0

我使用带有 dbvisualizer 的 windows 来连接服务器。

我的功能是...

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 )

它返回0.30.19698取决于 POL 参数

为此,我删除DROP FUNCTION JVAOBJ.BNOWPAPOL并运行CREATE,直到运行良好。

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

dbvisualiser 截图

我怎样才能看到实际的代码?

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

注2:我使用jt400驱动连接。

4

2 回答 2

2

尝试用于 Web 的 IBM i Navigator。如果它已在您的机器上配置,您可以通过以下 URL 访问它:https://your.ibm.i:2005/ibm/console/login.do?action=secure

如果未配置,那么也许您可以要求管理员安装 Windows 客户端。它是 Client Access for Windows 的一部分,称为 IBM i Navigator for Windows。

在任何一种情况下,使用导航树转到数据库 > 机器 > 模式 > JVAOBJ > 函数。右键单击您的函数 > 定义,然后选择例程主体

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

于 2015-05-06T19:07:05.103 回答
1

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

最简单的方法是使用 dbvisualizer 查询 SQL 系统表

SELECT * FROM qsys2/sysfuncs 
WHERE (SPECIFIC_SCHEMA, SPECIFIC_NAME) = ('JVAOBJ', 'BNOWPAPOL')                                          
于 2015-05-07T16:26:44.373 回答