0

我正在尝试获取所有数据库表的列表,这将使我能够了解我可能需要加入哪些表来运行 SQL 脚本。

例如,在 TCL 中,当我运行“LIST.DICT”时,它会返回“文件名:”作为输入。然后我输入“PRODUCT”,它会返回所有可用字段的列表。

但是,我在哪里可以获得所有可用表的列表或我可以在“文件名:”之后输入的选项列表?

这是我想要实现的目标。在下面的屏幕截图中,我想运行一个 SQL 脚本,它为我提供最新的日志文件活动、日期 - 时间 - 描述。我希望脚本返回 '8/13/14 08:40am BR: 3;BuyPkg'

在此处输入图像描述

预先感谢您的帮助。

4

2 回答 2

1

从包含数据库文件的数据库帐户中的 TCL 中,键入:LISTF

示例输出:词汇表中的文件 2015 年 6 月 29 日下午 3:21:38 第 1 页

文件名....................... 路径名...................... . 类型取模

 File - Contains all logical device names

DICT&DEVICE& /u1/uv/D_&DEVICE& 2 1 数据&DEVICE& /u1/uv/&DEVICE& 2 3

 File - Used by MAKE.MAP.FILE

DICT &MAP& /u1/uv/D_&MAP& 2 1 数据 &MAP& /u1/uv/&MAP& 6 7

 File - Contains all parts of Distributed Files

DICT &PARTFILES& /u1/uv/D_&PARTFILES& 2 1 数据 &PARTFILES& /u1/uv/&PARTFILES& 18 7

DICT &PH& D_&PH& 3 1 数据 &PH& &PH& 1

DICT &SAVEDLISTS& D_&SAVEDLISTS& 3 1 数据 &SAVEDLISTS& &SAVEDLISTS& 1

 File - Used by uniVerse to access the current directory.

DICT &UFD& /u1/uv/D_UFD 2 1 数据 &UFD& 。19 1

DICT &XML& D_&XML& 18 3 数据 &XML& &XML& 19 1

于 2015-06-29T19:22:07.823 回答
0

首先,UniVerse 没有日志文件活动日期和时间。

但是,您仍然可以从文件系统中获取表的修改/访问日期。去做这个,

  1. 您需要有一个接受表格路径的子例程来返回日期或时间。例如SUBROUTINE GET.FILE.MOD.DATE(DAT.MOD, S.FILE.PATH)

在子例程中,您可以使用EXECUTE运行 shell 命令(如istat)以在 unix 上获取这些信息,例如请注意,对于动态文件,例如目录下有数据和溢出部分。您应该比较获得的日期并仅返回最新的日期。

  1. 全局编目子例程

  2. 在 VOC 中创建一个 I-Desc,例如在此 I-Desc 的字段定义中的 I.FILE.MOD.DATE:SUBR("*GET.FILE.MOD.DATE",F2) and Conv Code as "D/MDY2"

  3. 创建另一个 I-Desc 例如 I.FILE.MOD.TIME

最后,你可以

LIST VOC I.FILE.MOD.DATE I.FILE.MOD.TIME DESC WITH TYPE LIKE "F..."

或者在 SQL 中,

SELECT I.FILE.MOD.DATE, I.FILE.MOD.TIME, VOC.DESC FROM VOC WHERE TYPE LIKE "F%";
于 2015-11-10T04:36:29.087 回答