【问题标题】:Create View from logical File programmatically?以编程方式从逻辑文件创建视图?
【发布时间】:2019-10-11 08:45:10
【问题描述】:

问题是关于 AS/400 上的逻辑文件 (LF) 和视图,由 IBM i DB2 提供。 我想知道,如果有办法,以编程方式从逻辑文件中生成一个 sql 语句(或者更好,直接是一个视图)。

现在,我查找 LF 描述(命令 WRKF ..)并模拟 LF 中的条件。

到目前为止,我的知识是,逻辑文件总是可以手动(可以说是手动)转换为 SQL 选择...但是如果有一个陷阱,为什么永远不能有一种编程方式来这样做,我想知道为什么。

我正在为此寻找类似 IBM I 的方法,而不是为此编写我自己的程序。

【问题讨论】:

  • 你能解释一下你为什么想要这个吗?您是否只是想从 DDS 转换为 DDL 进行现代化改造?如果是这种情况,最好将逻辑转换为 SQL 索引而不是视图。
  • 我遇到了问题,我想将逻辑文件加入到我的 SQL 视图中,但这不起作用。所以我倾向于手动将每个逻辑转换为 SQL 视图...

标签: db2 ibm-midrange db2-400


【解决方案1】:

不是编程解决方案,而是在 System i Navigator 中转到您正在使用的架构和视图部分。您可以右键单击任何这些逻辑文件并选择“生成 SQL”。您可以选择多个,它将​​为所有人生成 SQL。有一个写入文件的选项。

【讨论】:

  • 确实可以从逻辑文件中生成视图,但不会和逻辑文件一样。缺少的一个部分是关键。逻辑的键不能包含在 SQL 视图中。
  • 因此,正如@jmarkmurphy 所说,您需要分别创建索引(用于键)和视图(用于列选择、派生字段、连接等)。如果您要替换在 RPG 程序中使用的现有 DDS 逻辑,该逻辑按键顺序读取它,请小心 - ORDER BY 将始终需要明确。
  • 不幸的是,无法连接视图和索引以在具有记录级访问权限(SETLL、CHAIN 等)的 RPG 程序中使用它。除非您不关心记录顺序,否则您必须切换到嵌入式 SQL 才能在 RPG 中使用视图。视图没有键控。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-15
  • 1970-01-01
  • 2012-10-21
  • 2019-10-10
  • 2017-05-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多