【问题标题】:How to identify primary key column in DB2 version 7.1DB2 7.1版中如何识别主键列
【发布时间】:2018-10-03 07:19:27
【问题描述】:

我正在使用 DB2 version7.1 并尝试查询主键列名来满足我的一项要求。我尝试使用谷歌搜索,但找不到任何与 DB2 7.1 相关的内容。

我对 DB2 了解不多,因此寻求帮助以从 BD2 版本 7.1 中查找主键列。期待在这方面提供积极的帮助。

【问题讨论】:

    标签: db2 db2-400


    【解决方案1】:

    如果您按照问题上的 db2-400 标记的建议使用 Db2 for i-Series(以前称为 AS/400),请检查目录 QSYS2.SYSCST - 它有一个 CONSTRAINT_TYPE 列,其值为“P”为主键。您可能需要加入其他目录对象(例如 QSYS2.SYSTABLES、QSYS2.SYSCOLUMNS),具体取决于您所寻求的详细信息。

    Db2 for i series R7.1 的知识中心仍然是 online

    【讨论】:

      【解决方案2】:

      根据应用程序的年龄,您可能无法在 SQL 目录中找到它。不幸的是,许多(大多数?)RPG 应用程序没有使用 DB2 数据库的全部功能,包括索引、视图和约束。这变化缓慢,但很可能您将不得不寻找具有唯一键的逻辑文件。可能没有定义主键。您可以在 SQL 目录中查找,但如果找不到您要查找的内容,则以下内容更有可能有所帮助。

      1. 使用DSPDBR <table name> 查找与物理文件(表)关联的逻辑文件。如果您不知道命令行应该是什么样子,可以按 F4 提示输入参数。

      2. 1234563 ,或者至少是一个唯一的键。确保源底部没有记录选择。可能有多个这样的逻辑文件。
      3. 确定逻辑文件是否具有唯一键的另一种方法是使用DSPFD <logical file> 命令。然后在结果屏幕中搜索“唯一”。屏幕应如下所示:

      文件 。 . . . . : QPDSPFD 控制 。 . . . . __________ 寻找 。 . . . . .独特 *...+....1....+....2....+....3....+....4....+....5 ....+....6....+....7.. 访问路径维护。 . . . . . . . . . : 维护 *即时 需要唯一的键值。 . . . . . . . : 唯一的是 选择/省略指定的 . . . . . . . . . . . : 不 访问路径已记录。 . . . . . . . . . . : 不 访问路径。 . . . . . . . . . . . . . . . : 键控 关键字段数。 . . . . . . . . . . : 3 记录格式。 . . . . . . . . . . . . . . : JCNCXR 关键字段。 . . . . . . . . . . . . . . . : XFNCMNO 顺序 。 . . . . . . . . . . . . . . : 上升 签名指定。 . . . . . . . . . . . : 签 指定的区域/数字。 . . . . . . . . : *没有任何 替代整理顺序。 . . . : 不 关键字段。 . . . . . . . . . . . . . . . : XFJOBYR 顺序 。 . . . . . . . . . . . . . . : 上升 签名指定。 . . . . . . . . . . . : 签 指定的区域/数字。 . . . . . . . . : *没有任何 替代整理顺序。 . . . : 不 关键字段。 . . . . . . . . . . . . . . . : XFJOBNO 顺序 。 . . . . . . . . . . . . . . : 上升

      Unique key values required . . . . . . . . : UNIQUE Yes 行表示逻辑文件包含唯一键。以下行Select/omit specified . . . . . . . . . . . : No表示逻辑文件中没有记录选择逻辑,所以包含了物理文件中的所有记录。底部的行按顺序显示关键字段。这与使用逻辑文件可以获得的主键一样接近。由于与物理文件相关的每个逻辑文件都可以有一个唯一的键,因此大多数应用程序将使用命名来识别哪个是主键,有时这将是文件名上的 L00 或 L01 后缀。

      更复杂的是,物理文件本身可以被唯一地键入。您也可以查看源代码或使用DSPFD <physical file> 来确定。

      这些是关于 DB2 for i 的一些独特的东西,在其他风格的 DB2 中是不可用的。而且,过去 RPG 程序员只使用物理和逻辑文件,而不是 DB2 数据库的 SQL 特性。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-01-04
        • 2017-08-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-24
        • 1970-01-01
        相关资源
        最近更新 更多