请参阅DB2forIBMi中的实际函数代码

请参阅DB2forIBMi中的实际函数代码,db2,ibm-midrange,dbvisualizer,jt400,Db2,Ibm Midrange,Dbvisualizer,Jt400,你好,guy,我在DB2UDB中为AS/400创建了一个函数version07.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

你好,guy,我在
DB2UDB中为AS/400创建了一个函数
version
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 )
根据POL参数返回
0.3
0.19698

为此,我删除
DROP函数JVAOBJ.BNOWPAPOL
,然后运行
CREATE
,直到工作正常为止

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

如何查看实际代码?

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

注2:
我用来连接。

试试IBM I Navigator for web。如果在您的计算机上配置了它,您可以通过以下URL访问它:

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

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

编辑添加系统例程
查看例程主体的另一种方法是通过DB2目录表SYSROUTINE<代码>从sysroutine中选择特定的模式、特定的名称、例程定义

我知道IBMiNavigator是一个很棒的工具,但您需要一些知识来掌握它

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

SELECT * FROM qsys2/sysfuncs 
WHERE (SPECIFIC_SCHEMA, SPECIFIC_NAME) = ('JVAOBJ', 'BNOWPAPOL')                                          

您显示了一个来自dbvis的图像,但不清楚您是否浏览了它。在JVAOBJ->Procedures节点下显示了什么?@user2338816这是扩展的,没有任何内容,以确保SQL源代码在全球范围内有效[例如,来自某个国家的任何人可能会提供帮助,但他们的十进制分隔符是逗号而不是句号],对于任何前面有逗号作为分隔符的数字,始终为下一个\单独的数字包含前面的空白。例如,如果源代码在开发人员之间共享,而不仅仅是在编译对象之间共享,那么代码“DECIMAL(7,7)”而不是“DECIMAL(7,7)”,以及“IN(1,2)”而不是“IN(1,2)”就非常重要正在共享。我在树中的IBM I Navigator for Windows
工具中与系统管理员进行检查,转到
数据库->机器->架构->QGPL
但未显示任何内容,也未在树中显示JVAOBJ项。从Windows的
客户端访问检查它的方法
?在模式下应该有许多条目,而不仅仅是QGPL。让管理员将JVAOBJ添加到列表中,您将能够看到该架构的内容。右键单击架构,然后选择“选择要显示的架构”哦,太好了!不干扰系统管理员的最简单方法