如何针对此表创建视图?我想根据今天的日期进行选择。但是 AS400 中的字段定义为 Numeric 8 0。
我不明白的是,我是否必须在 Iseries Navigator 中重新创建表格,这是订单标题和详细信息。它们已经存在于 AS/400 上,但从未在 Iseries Navigator 中使用过。创建视图后,我应该可以通过水晶报表进行访问。
如何针对此表创建视图?我想根据今天的日期进行选择。但是 AS400 中的字段定义为 Numeric 8 0。
我不明白的是,我是否必须在 Iseries Navigator 中重新创建表格,这是订单标题和详细信息。它们已经存在于 AS/400 上,但从未在 Iseries Navigator 中使用过。创建视图后,我应该可以通过水晶报表进行访问。
使用CREATE VIEW
SQL 语句创建视图并将数字日期转换为 SQL 日期。
请注意,如果表中存在任何无效日期,则会在您尝试选择数据时导致错误。您可能必须在转换中包含验证逻辑。
例如:
CREATE VIEW myview AS
SELECT
DATE(SUBSTR(DIGITS(yyyymmdd),1,4) ||'-'||
SUBSTR(DIGITS(yyyymmdd),4,2) ||'-'||
SUBSTR(DIGITS(yyyymmdd),6,2)) AS mydate
FROM mytable
在大多数情况下,SQL 可以使用 DDS 文件,而 RPG 可以使用 SQL 表和视图。您无需在IBM Navigator for i中重新创建 DDS 表,以便将其用于视图。
启动 iNav。展开数据库。单击您的机器名称。在下方的数据库任务下,您将看到运行 SQL 脚本。双击那个。它将打开一个窗口,您可以在其中输入 JamesA 发布的 CREATE VIEW 语句。完成此操作后,使用文件 > 另存为...保存会话。我将我的保存在 IFS 中,我可以轻松地双击一个将其恢复,以便我可以使用它。我以这种方式将所有 DDL 保存在 IBM i 上,这样我就可以轻松地重新创建我的视图、索引等。
编辑 如果您不使用 iNav,请考虑使用 RUNSQLSTM 并将脚本存储在常规源成员或流文件目录中。主要思想是,您可以编写脚本,如果您需要更改某些内容或创建类似的内容,您可以参考这些脚本。